2011-05-07 4 views
0

다음 스크립트를 작성하여 디렉토리에 파일을 인쇄하려고합니다. 하지만 그냥 문자열 "ls"를 화면에 던지고 있습니다.bash에서 ls의 출력에 어떻게 액세스 할 수 있습니까?

무엇이 문제입니까? 따옴표의

#!/bin/bash 
for FILE in 'ls' 
do 
    echo $FILE 
done 
+1

당신은 backticks없이'* FILE in *; echo $ FILE; done' - 또는 간단히'find'를 사용할 수 있습니다. –

+0

@ user379203 :이 답변으로 도움이되었으므로 (올바른 것으로 보이는 경우) 체크 표시 버튼을 사용하여 동의하십시오. –

답변

9

잘못된 종류 - 당신이 원하는 :

for FILE in `ls` 

사람들이 역 따옴표가 아닌 단일 따옴표입니다. 더 나은 방법 :

for FILE in $(ls) 

this site을보고 싶을 수도 있습니다.

+5

[ls를 구문 분석하지 마십시오.] (http://mywiki.wooledge.org/ParsingLs)! 대신에'for FILE in *'을 사용하십시오 - 오류가 발생하기 쉽고 빠릅니다. –

관련 문제