0

以下は、df ouptut を文字列と比較するために使用したコードです。常に false を返す理由を誰か教えてもらえますか?

bash-3.00$ a=$(df -n dir1)
bash-3.00$ b="/opt               : ufs"
bash-3.00$ echo "$a"
/opt               : ufs
bash-3.00$ echo "$b"
/opt               : ufs
bash-3.00$ [[ "$a" = "$b" ]]
bash-3.00$ echo $?
1
bash-3.00$
bash-3.00$ [[ "$a" == "$b" ]]
bash-3.00$ echo $?
1

ありがとう、

4

1 に答える 1

0

次の類似のシーケンスが私にとってはうまくいきました:

x=$(df -n /dev | grep dev)
y="devfs             226  226         0   100%    /dev"
[[ $x == $y ]]
echo $?
# -> 0

ほとんどのデバッグ状況と同様に、やるべきことは分割統治です。 実際に機能する最も単純なことを行い、徐々にそれを問題のように見せるか、問題のように見せます。

この場合、出力をファイルに取り込んで (または @chepner が提案することを実行して、それをパイプ処理してod)、タブ文字などを探して詳細に調べることができます。または、出力がより単純なコマンドを試すこともできますdf

于 2013-03-15T21:30:03.167 に答える