バックティック内で変数を使用する方法

バックティック内で変数を使用する方法

「$input」引数を受け取り(他の何よりも)、これをプログラムに指示し、出力を収集するbashスクリプトがあります。

現在私の行は次のとおりです

OUTPUT=`./main.exe < $input`

ただし、次のエラーが発生します。

$input: ambiguous redirect

正しいアプローチは何ですか?

ベストアンサー1

変数の値にはスペースを含めることができます。

二重引用符で囲む必要があります。

output=$( ./main.exe <"$input" )

この場合、シェルはbash変数を引用する必要があります。それ以外の場合、他のシェルでは必要とされない可能性のあるトークン化とファイル名のグロービングがその値に対して行われます。

また$input、これには引数ではなく、プログラムの標準入力ストリームにリンクするファイルのパス名がありますmain.exe (テキストを誤解した可能性がありますが、とにかく)。コマンドライン引数として使用する場合、$inputコマンドは次のようになります。

output=$( ./main.exe "$input" )

関連:

返品:

おすすめ記事