我正在尝试.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)
最后一行也一样。