.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)
最後の行も同じだ。