为什么不能执行呢,因为我们的命令很多时候是以bash的规范的,所以如果shell不是bash类型,很容易出现命令不识别这类问题
先检查shell类型
echo $SHELL
这是正常的,是bash类型,不正常的需要去改变环境变量。
再检查shell文件头

检查 #!/bin/bash是否打错或者漏打。
最后检查软链接

可以看到sh软链接指向了dash*
这样执行sh myshell.sh命令会报错
解决方法有两种
1 可以执行bash指令,bash myshell.sh
2 改变软链接
使用ln -snf bash* sh
结果为
这样问题就基本解决了
版权声明:本文为Liyizhi111原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。