쉘 스크립트를 사용하여 빈 파일을 만들어야 합니다. 파일 이름은 특정 패턴(예:)과 일치하는 디렉터리의 모든 파일을 확인하여 결정되며 새 파일이 다음과 같이 보이 TEST.*
도록 합니다 ._END
TEST.2011_END
$DIR
for file in $DIR/TEST.*
do
touch $file_END
done
이렇게 하면 오류가 발생합니다. 나는 또한 touch $file_END
다음으로 교체를 시도했습니다.
filename=$file_END
touch $filename
하지만 행운은 없습니다. 어떻게 해야 합니까?
답변1
구문은 다음과 같습니다.
filename="${file}_END"
또는 귀하의 코드에서
touch "${file}_END"
"
공백이나 와일드카드 가 없으면 $file
따옴표는 필요하지 않습니다 .
답변2
명령 해석기는 사용자가 $file_END(file_END라는 변수의 값)를 의미했다고 생각합니다. 인용을 통해 이 문제를 해결할 수 있습니다. 구문은 다음과 같습니다.
filename="$file""_END"
또는
filename="$file"_END
심지어
filename=$file"_END"
명확성을 위해 첫 번째 것을 선호하지만!