---------
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判断字符串相等用 的是=。