if 语句中的 cmp (Bash)

cos*_*una 4 linux bash terminal

if [ cmp -s "$expectedOut" "$actualOut" ]; then
Run Code Online (Sandbox Code Playgroud)

下面的代码行不断给我错误,说参数太多。但是我知道这是 cmp 的正确典型用法,所以我认为这可能与括号有关。有人知道这里到底发生了什么吗?

PSk*_*cik 5

失去[ ].

if cmp -s "$expectedOut" "$actualOut" ; then
Run Code Online (Sandbox Code Playgroud)

的语法if

if Command; then
Run Code Online (Sandbox Code Playgroud)

[只是一个可能的命令(恰好期望]它的最后一个参数使事情看起来很漂亮)。