쉘 스크립트 내에서 환경 파일을 찾아야 합니다.

쉘 스크립트 내에서 환경 파일을 찾아야 합니다.

.env로 끝나는 여러 환경 파일이 있습니다. 동일한 디렉토리 쉘 스크립트에 존재하는 것을 찾고 싶습니다. 그래요

for i in [ ls -1 *env ]    
do
    grep $i *.sh >> ttt    
done    

다음과 같은 오류가 표시됩니다:
grep: RE error 49: [ ] imbalance.
grep: 잘못된 옵션 -- 1
사용법: grep -hblcnsviw 패턴 파일 . . .

내 실수가 어디에 있는지 말해줄 수 있나요?

답변1

내 실수가 어디에 있는지 말해줄 수 있나요?

$ shellcheck myscript

Line 3:
    grep $i *.sh >> ttt    
         ^-- SC2086: Double quote to prevent globbing and word splitting.
            ^-- SC2035: Use ./*glob* or -- *glob* so names with dashes won't become options.

$ 

원천ShellCheck는 쉘 스크립트에서 버그를 찾습니다.

관련 정보