关于sh时命令不识别无法正常执行.sh文件

为什么不能执行呢,因为我们的命令很多时候是以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版权协议,转载请附上原文出处链接和本声明。