ubuntu脚本执行报错的检查思路

一、遇到的问题:

今天有朋友问我,说在CentOS上写好的脚本,在Ubuntu上没法正常使用,当时没在意,以为是权限没配置好,后来看了下,发现ubuntu跟CentOS的默认shell是不同的,如是记录下,避免以后忘记:

1、ubuntu默认的shell是连接到dash,而我们通常写的shell脚本使用的时bash。
2、bash和dash在一些方面是不兼容的。因此执行同一个脚本,两者结果不同,可能用./*sh可以执行,而sh*.sh报错。
3、Ubuntu之所以使用dash是因为其体积小,兼容性高,但是对于经常使用CentOS的人来说,这就比较悲剧,一些bash可执行的脚步在dash下不能执行了,脚本的可移植性不能保证。


二、解决方法:

1、检查脚本是否有x权限,如果有,则进行第二步
2、sudodpkg-reconfiguredash,然后出现的界面中选择NO

相关文章

文章浏览阅读2.3k次,点赞4次,收藏22次。最近安装了CARLA预...
文章浏览阅读6.3k次,点赞5次,收藏15次。在清华镜像中下载U...
文章浏览阅读5k次。linux环境, python3.7.问题描述: 安装...
文章浏览阅读4.2k次,点赞4次,收藏17次。要安装这个 standa...
文章浏览阅读894次,点赞51次,收藏31次。在安卓使用vscode主...