shell用if

---------

 shell用if出错了,Why?

shell if 实例:

site=github.com/fankcoder
if [ $site == github.com/fankcoder]
then echo "fankcoder"
else if [ $site == github.com/fankcoder ]
then echo "get"
fi
fi

  执行时总是提示: unexpected operator

GG了才知道原来Ubuntu默认的sh是连接到dash的,又因为dash跟bash的不兼容所以出错了.

解决方法很多啊:

第一行加上

#!/bin/bash

或运行时

bash 文件名.sh来执行

或永久激活bash

修改sh默认连接到bashsudo dpkg-reconfigure dash
选择no即可。

dash的语法需要将" == " 改为" = ",dash判断字符串相等用 的是=。

原文地址:https://www.cnblogs.com/frankcoder/p/4998388.html