ubuntu12.04中shell脚本无法使用source的原因及解决方法
2014-11-03 13:31
716 查看
现象: shell脚本中source aaa.sh时提示 source: not found
原因: ls -l `which sh` 提示/bin/sh -> dash
这说明是用dash来进行解析的。
改回方法:
命令行执行:sudo dpkg-reconfigure dash
在界面中选择no
再ls -l `which sh` 提示/bin/sh -> bash
修改成功,source可以用了~
说明:
Dash Shell 是一个Unix Shell,比Bash Shell 小的多,符合POSIX标准。Debian曾经采用/bin/bash的更改/bin/dash,目的使用更少的磁盘空间、提供较少的功能、获取更快的速度。但是后来经过shell脚本测试存在运行问题。因为原先在bash shell 下可以运行的shell script (shell 脚本),会出现一些意想不到的问题,不是100%的兼用。
Ubuntu继承了Debian,所以从Ubuntu 6.10开始默认是Dash Shell。
解决办法:重新配置shell
1. sudo dpkg-reconfigure dash
选择NO,不使用Dash Shell。
2.采用链接指向
ln -s /bin/bash /bin/sh
检查是否正确:ls -l /bin/sh
原因: ls -l `which sh` 提示/bin/sh -> dash
这说明是用dash来进行解析的。
改回方法:
命令行执行:sudo dpkg-reconfigure dash
在界面中选择no
再ls -l `which sh` 提示/bin/sh -> bash
修改成功,source可以用了~
说明:
Dash Shell 是一个Unix Shell,比Bash Shell 小的多,符合POSIX标准。Debian曾经采用/bin/bash的更改/bin/dash,目的使用更少的磁盘空间、提供较少的功能、获取更快的速度。但是后来经过shell脚本测试存在运行问题。因为原先在bash shell 下可以运行的shell script (shell 脚本),会出现一些意想不到的问题,不是100%的兼用。
Ubuntu继承了Debian,所以从Ubuntu 6.10开始默认是Dash Shell。
解决办法:重新配置shell
1. sudo dpkg-reconfigure dash
选择NO,不使用Dash Shell。
2.采用链接指向
ln -s /bin/bash /bin/sh
检查是否正确:ls -l /bin/sh
相关文章推荐
- ubuntu12.04中shell脚本无法使用source的原因及解决方法
- ubuntu12.04中shell脚本无法使用source的原因及解决方法
- ubuntu12.04中shell脚本无法使用source的原因及解决方法
- ubuntu12.04中shell脚本无法使用source的原因及解决方法
- ubuntu12.04中shell脚本无法使用source的原因及解决方法
- ubuntu12.04中shell脚本无法使用source的原因及解决方法
- ubuntu12.04中shell脚本无法使用source的原因及解决方法
- 【linux】Ubuntu中shell脚本无法使用source的原因及解决方法
- shell脚本无法使用source的原因及解决方法
- debian中shell脚本无法使用source的原因及解决方法
- shell脚本无法使用source的原因及解决方法
- sh文件在windows下修改后无法执行的解决方法以及shell脚本中含中文乱码
- 在ASP.NET中使用IHttpHandler处理请求(如自实现AJAX)时,无法获得Session(或者说是Session 为 null)的原因及解决方法
- 使用JavaScript脚本无法直接改变Asp.net中Checkbox控件的Enable属性的解决方法
- linux crontab 无法执行shell脚本解决方法
- 各大网站无法使用右键的原因及解决方法
- 使用shell脚本解决VMware克隆主机后网络服务无法启动
- Ubuntu12.04无法使用vim系统剪贴板解决方法
- 使用MyEclipse无法上传文件到Hadoop HDFS的原因与解决方法
- 部分地区移动手机无法使用QQ邮箱IMAP收件原因的分析[附解决方法]