这两者有什么区别?
- 使用 - &&和- ||:- command1 && command2 || command3
- 使用 - if和- else:- if command1 then command2 else command3 fi
这两者有什么区别?
使用&&和||:
command1 && command2 || command3
使用if和else:
if command1  
then  
    command2  
else  
    command3  
fi
后者将始终直观地正常工作。前者有一个边界条件,两者command2都command3可以执行。
在第一个示例中,如果 command1 或 command2 失败,将执行 command3:如果 command1 通过但 command2 失败,则将执行 command3。在 if-then-else 示例中,只有在 command1 失败时才会执行 command3。
换句话说,当翻译成 if-then-else 时,第一个变成:
if command1
then
    if !command2
    then
        command3
    fi
else
    command3
fi
使用 command1=true、command2=false 和 command3=echo 'something' 您可以看到区别。&&-||版本:
true && false || echo 'something'
将something作为输出产生。使用if-then-else版本时:
if true
then
    false
else
    echo 'something'
fi
你将没有输出。