「$input」引数を受け取り(他の何よりも)、これをプログラムに指示し、出力を収集するbashスクリプトがあります。
現在私の行は次のとおりです
OUTPUT=`./main.exe < $input`
ただし、次のエラーが発生します。
$input: ambiguous redirect
正しいアプローチは何ですか?
答え1
変数の値にはスペースを含めることができます。
二重引用符で囲む必要があります。
output=$( ./main.exe <"$input" )
この場合、シェルはbash
変数を引用する必要があります。それ以外の場合、他のシェルでは必要とされない可能性のあるトークン化とファイル名のグロービングがその値に対して行われます。
また$input
、これには引数ではなく、プログラムの標準入力ストリームにリンクするファイルのパス名がありますmain.exe
(テキストを誤解した可能性がありますが、とにかく)。コマンドライン引数として使用する場合、$input
コマンドは次のようになります。
output=$( ./main.exe "$input" )
関連:
返品: