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

括号本身用于对命令进行分组(在子 shell 中),例如

(echo foo ; echo bar) | cat -n

但这在命令行中没有意义,因此 Bash 将其视为错误。 (其他 shell 对其处理方式有所不同,zsh 将其视为 glob,ksh93 只是按原样保留括号并扩展变量。)

他们可能意味着要么"system-${arch}.iso"获取变量的值arch;要么获取变量的值。或者"system-$(arch).iso"运行命令arch并在命令行上使用其输出。这两者都应该在引号内使用。

如果您想要文字括号(以及变量扩展),请再次引用整个字符串:"system-($arch).iso"

($arch)最后一行也一样。

相关内容