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

おすすめ記事