0
다음 스크립트를 작성하여 디렉토리에 파일을 인쇄하려고합니다. 하지만 그냥 문자열 "ls"를 화면에 던지고 있습니다.bash에서 ls의 출력에 어떻게 액세스 할 수 있습니까?
무엇이 문제입니까? 따옴표의
#!/bin/bash
for FILE in 'ls'
do
echo $FILE
done
다음 스크립트를 작성하여 디렉토리에 파일을 인쇄하려고합니다. 하지만 그냥 문자열 "ls"를 화면에 던지고 있습니다.bash에서 ls의 출력에 어떻게 액세스 할 수 있습니까?
무엇이 문제입니까? 따옴표의
#!/bin/bash
for FILE in 'ls'
do
echo $FILE
done
잘못된 종류 - 당신이 원하는 :
for FILE in `ls`
사람들이 역 따옴표가 아닌 단일 따옴표입니다. 더 나은 방법 :
for FILE in $(ls)
this site을보고 싶을 수도 있습니다.
[ls를 구문 분석하지 마십시오.] (http://mywiki.wooledge.org/ParsingLs)! 대신에'for FILE in *'을 사용하십시오 - 오류가 발생하기 쉽고 빠릅니다. –
당신은 backticks없이'* FILE in *; echo $ FILE; done' - 또는 간단히'find'를 사용할 수 있습니다. –
@ user379203 :이 답변으로 도움이되었으므로 (올바른 것으로 보이는 경우) 체크 표시 버튼을 사용하여 동의하십시오. –