for i in $(ls);do
if [ $i = '*.java' ];then
echo "I do something with the file $i"
fi
done
현재 폴더의 각 파일을 반복하고 특정 확장자와 일치하는지 확인하고 싶습니다. 위의 코드가 작동하지 않습니다. 이유를 아십니까?
$i
리터럴 문자열 "* .java"와 비교 하고 있습니다. 여기서 패턴 확장은 수행되지 않습니다.
if [[ $i == *.java ]]; then
..을 사용 하십시오 (이중 [[]] s 및 인용되지 않은 * .java에주의하십시오).
ls
- chepner의 대답 @ 동의
for i in $(ls *.java); do echo "do something with file $i"; done
?