xorrisofs: bash: 예상치 못한 표시 '(' 근처에서 구문 오류가 발생했습니다.

xorrisofs: bash: 예상치 못한 표시 '(' 근처에서 구문 오류가 발생했습니다.

.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)마지막 줄도 마찬가지다.

관련 정보