私は3g接続を照会するための簡単なスクリプトを書こうとしていますが、接続が切断された場合は再接続を促してください。2つの同一の文字列の私のbash文字列の比較が常に偽であるのはなぜですか?
私の問題は、コマンドの出力をチェックすることです.2つの一見等しい文字列は等しいと評価されません。私はそこにここにnoobエラーがあると確信しています!
#!/bin/bash
echo "Checking connection"
a="Not connected."
b=$(./sakis3g status --console)
if [[ "$a"!="$b" ]]; then
echo "Strings not equal:"
echo "$a"
echo "$b"
else
echo "Strings equal!!"
fi
実行出力:
[email protected]:~$ ./test_3g.sh
Checking connection
Strings not equal:
Not connected.
Not connected.
./test_3g.sh | cat -A
を実行している場合:
[email protected]:~$ ./test_3g.sh | cat -A
Checking connection$
Strings not equal:$
Not connected.$
Not connected.$
最後に余分な改行はありませんか? – Mehrdad
'./test_3g.sh |を試してください。 cat -A'。あなたの 'cat'が' -A'オプションをサポートしていない場合は、 './test_3g.sh | cat -v'です。 –
余分な空白はないとは思いますが、それで訂正されてうれしいです。 @Keith、パイプからの出力をcat -Aに質問に追加しました。 – jozzas