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

简介:

一、遇到的问题:

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

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


二、解决方法:

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









本文转自 冰冻vs西瓜 51CTO博客,原文链接:http://blog.51cto.com/molewan/1947107,如需转载请自行联系原作者
目录
相关文章
|
7月前
|
Ubuntu Shell
百度搜索:蓝易云【Ubuntu系统如何设置开机自启动shell脚本?】
现在,你的Shell脚本将会在Ubuntu系统开机时自动执行。请确保脚本中的逻辑是正确的,以免对系统造成不必要的影响。
76 0
|
7月前
|
Ubuntu Linux
Centos 7、Debian、Ubuntu中tree指令的检查与下载
Centos 7、Debian、Ubuntu中tree指令的检查与下载
|
28天前
|
Ubuntu Shell 开发工具
ubuntu/debian shell 脚本自动配置 gitea git 仓库
这是一个自动配置 Gitea Git 仓库的 Shell 脚本,支持 Ubuntu 20+ 和 Debian 12+ 系统。脚本会创建必要的目录、下载并安装 Gitea,创建 Gitea 用户和服务,确保 Gitea 在系统启动时自动运行。用户可以选择从官方或小绿叶技术博客下载安装包。
45 2
|
3月前
|
监控 Ubuntu API
Python脚本监控Ubuntu系统进程内存的实现方式
通过这种方法,我们可以很容易地监控Ubuntu系统中进程的内存使用情况,对于性能分析和资源管理具有很大的帮助。这只是 `psutil`库功能的冰山一角,`psutil`还能够提供更多关于系统和进程的详细信息,强烈推荐进一步探索这个强大的库。
49 1
|
3月前
|
Ubuntu
树莓派 —— 关闭安装软件包时ubuntu对内核版本等的检查
树莓派 —— 关闭安装软件包时ubuntu对内核版本等的检查
|
7月前
|
人工智能 Ubuntu 机器人
【ubuntu】手把手教你解决ubuntu报错openssh-server E: Sub-process /usr/bin/dpkg returned an error code (1)
【ubuntu】手把手教你解决ubuntu报错openssh-server E: Sub-process /usr/bin/dpkg returned an error code (1)
732 0
|
4月前
|
Ubuntu
Ubuntu22.04,AOSP编译报错: libncurses.so.5: cannot open shared object file: No such file
本文描述了在Ubuntu 22.04系统上编译AOSP时遇到的`libncurses.so.5`缺失错误,并提供了通过安装相应库解决该问题的步骤。
463 0
|
5月前
|
Ubuntu 网络协议 关系型数据库
|
6月前
|
Ubuntu
蓝易云 - Ubuntu20.04安装软件报错:The following packages have unmet dependencies
如果以上步骤都不能解决问题,可能需要手动查找并安装缺失的依赖软件包。你可以通过运行 `sudo apt-cache search <package-name>`来搜索软件包,然后使用 `sudo apt install <package-name>`进行安装。
454 2
|
6月前
|
Ubuntu Java Linux
Linux centos7 ubuntu 一键安装Java JDK 脚本 shell 脚本
Linux centos7 ubuntu 一键安装Java JDK 脚本 shell 脚本
131 2