.iso
파일 생성을 사용 하려고 하는데 xorrisofs
다음과 같은 오류가 발생합니다.
bash: syntax error near unexpected token `('
내가 사용하는 명령은 다음과 같습니다.
xorrisofs -o system-($arch).iso \
-b boot/isolinux/isolinux.bin \
-c boot.cat \
-no-emul-boot \
-boot-load-size 4 \
-boot-info-table \
-joliet -l -R \
iso($arch)
답변1
대괄호 자체는 (하위 쉘에서) 명령을 그룹화하는 데 사용됩니다.
(echo foo ; echo bar) | cat -n
그러나 이는 명령줄에서는 의미가 없으므로 Bash는 이를 오류로 처리합니다. (다른 쉘은 이를 다르게 처리하고, zsh는 이를 glob으로 처리하고, ksh93은 대괄호를 그대로 유지하고 변수를 확장합니다.)
"system-${arch}.iso"
이는 변수의 값을 얻는 것을 의미할 수도 있습니다 arch
. 또는 "system-$(arch).iso"
명령을 실행 arch
하고 명령줄에서 해당 출력을 사용합니다. 둘 다 따옴표 안에 사용해야 합니다.
리터럴 대괄호(및 변수 확장)를 원하면 전체 문자열을 다시 인용하십시오 "system-($arch).iso"
.
($arch)
마지막 줄도 마찬가지다.