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

[仅仅是一个可能的命令(在这种情况发生,以期望]作为其最后一个参数,以使事情看起来很漂亮)。