루프 변수 대체 후 쉘 글로브 확장

루프 변수 대체 후 쉘 글로브 확장

루프 변수 대체 후 전역으로 확장되도록 다음 예제를 어떻게 변경할 수 있습니까?

for i in a b c
    do echo $i/*.txt
done

업데이트: 이것은 일반적으로 작동하지만 set -f내가 보고 있는 스크립트에서는 완료되었습니다.

답변1

코드를 작성하는 경우 bash"set -f"를 사용하여 와일드카드를 끄고 "set +f"를 사용하여 설정하면 원하는 결과를 얻을 수 있습니다.

#!/bin/bash

for i in a b c
do
    set -f
    Z=$i/*.txt
    echo $Z
    set +f
    echo
    echo "Does it expand?"
    echo $Z
done

관련 정보