sh [[: not found

执行sh的时候,报错 "[[: not found"。这是因为sh默认用到的sh为dash,dash是一个不同于bash的shell,它主要是为了执行脚本而出现,而不是交互,它速度更快,但功能相比bash要少很多,语法与bash有很多不同。

比如说dash,不支持 [[ ]],若想支持 [[ ]] 可以将默认sh,改回dash。可以通过如下方式操作:

1、查看当前使用的shell:

$ ls -al /bin/sh
lrwxrwxrwx 1 root root 4 11月  8  2014 /bin/sh -> dash

2、执行如下命令,选择不使用默认dash,选择NO

sudo dpkg-reconfigure dash

 

 

 3、查看切换后的结果

$ ls -al /bin/sh
lrwxrwxrwx 1 root root 4 1月   2 10:25 /bin/sh -> bash

 

参考:

1.https://www.cnblogs.com/avit/p/11088244.html

2.https://blog.csdn.net/s1986q/article/details/56009794

 

posted @ 2020-01-02 10:44  溟漓  阅读(1283)  评论(0编辑  收藏  举报