2012-10-26 2 views
1

이 bash 코드 조각은 많은 폴더가있는 동안 폴더 이름을 표시하지 않습니다.bash에서 폴더 이름 인쇄하기

#!/bin/bash 

for file in .; do 
    if [ -d $file ]; then 
    echo $file 
    fi 
done 

출력이 그 이유를 설명 할 수 만 . 입니까?

답변

5

.을 크기 1의 배열로 읽고 인쇄합니다. 대신이 같은 것을 사용

for file in `ls`; do 
    if [ -d $file ]; then 
    echo $file 
    fi 
done 
+0

(http://mywiki.wooledge.org/ParsingLs), 대신 글로브를 사용하여 [ls''구문 분석하지 마십시오] (*에서 파일 즉'; do') –