看下面一段shell:
执行的时候,总是发现提示 [: 10: y: unexpected operator
答案:
第一种:
因为ubuntu默认的sh是连接到dash的,又因为dash跟bash的不兼容所以出错了.执行时可以把sh换成bash 文件名.sh来执行.成功.dash是什么东西,查了一下,应该也是一种shell,貌似用户对它的诟病颇多.
by the way修改sh默认连接到bash的一种方法:
sudo dpkg-reconfigure dash
选择no即可.
第二种:
在某个论坛看到别人讨论的结果。
将== 改为=就行了,dash判断字符串相等用 的是=。
转自:http://hi.baidu.com/%CE%B0%CE%B0%D0%A1%CE%D1/blog/item/aa422019f5e58e0c34fa4125.html