脚本中 if 判断细节
if [[ $1 == "fedora" ]];then
echo "redhat"
elif [[ $1 == "redhat" ]];then
echo "fedora"
else
echo '/root/foo.sh redhat | fedora'
exit 1
fi
case $1 in
redhat)
echo fedora
;;
fedora)
echo redhat
;;
*)
echo '/root/foo.sh redhat | fedora'
;;
esac
-eq
是做数值比较, ==
是做字符串比较
if [ ]
是 POSIX 兼容版写法
if [[ ]]
是 bash zsh 支持的升级版
[ -L "$file" ] && [ -f "$file" ]
[[ -L $file && -f $file ]]
工作中 if 判断用 [[ ]] 和 == 来做是没问题的,相关细节如上
(完)