2017-01-05 4 views
0
#!/bin/bash  
DIR=$(dirname "$0") 
GPIO=$DIR/gpio-output 
FPGACHECK=$("$GPIO -0" 2>&1) 
echo $FPGACHECK 

line 2: ./gpio-output -0: No such file or directory 

私はこのスクリプトを実行できないように見えるスクリプトと同じフォルダにあるこのバイナリを呼び出そうとしています。私は 'eval'コマンドは動作しますが、私はバイナリの出力を文字列に入れることはできないと思いますか?bashは実行可能ファイルを呼び出す

+0

私は言及すべきです..バイナリは同じディレクトリにあり、正常に動作します。この '$ GPIO 0'のようなバイナリを問題なく呼び出すことができます。出力は文字列に渡しますか? – spudgunman

答えて

0

-0は引用符の外にする必要があります。内部では、バイナリのファイル名の一部として扱われます(バイナリへの引数ではなく)。また、あなたはこのように、また、二重引用符文字列がエコーされるようにすべきである:あなたが何かのためにFPGACHECKを必要としない場合

FPGACHECK=$("$GPIO" -0 2>&1) 
echo "$FPGACHECK" 

...または、単にバイナリの出力はに直接移動させることで、それを簡素化ターミナルではなく、変数にその出力をキャプチャし、エコーいる:

"$GPIO" -0 

もう一つは:あなたがコメントで言うように「-0」であるはずの引数であるか、単に「0」?

+0

私はそれを評価するためにキャプチャする必要があります。FPGACHECK = $( "$ GPIO" 0 2> &1); echo "$ FPGACHECK" 'ouputは見えません – spudgunman

関連する問題