2017-09-23 165 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 

[僅僅是一個可能的命令(在這種情況發生,以期望]作爲其最後一個參數,以使事情看起來很漂亮)。