2017-09-23 10 views
1
if [ cmp -s "$expectedOut" "$actualOut" ]; then 

次のコード行では、引数が多すぎるというエラーが表示され続けます。しかし、私はこれがcmpの適切な典型的な使用であることを知っているので、括弧で括らなければならないかもしれないと思います。誰でも本当にここで何が起こっているのか知っていますか?cmp in if文(Bash)

+0

'['は 'if'構文の一部ではありません - 独自の構文を持つ別のコマンドです。 'cmp'を実行したい場合、' [''ではなく 'cmp'を実行してください。 –

答えて

1

[]が失われます。

if cmp -s "$expectedOut" "$actualOut" ; then 

ifの構文は

if Command; then 

[である(その上で、物事はかなり見えるようにする最後の引数として]を期待して起こる)ただ一つの可能​​なコマンドです。