问题:Ubuntu系统执行shell脚本时报错
报错内容
linux-source:not found
not found [[[
问题原因:在Ubuntu 当中 执行脚本默认的使用的是dash,而非bash,执行能力较弱
案例:
例如1.sh
#!/bin/sh
source /etc/profile
输出:source: not found
2.sh
#!/bin/bash
source /etc/profile
正常执行
3.source等价于 .
所以使用. /etc/profile都会执行正常 (注意点号后面空格)
测试:
运行 ls -l /bin/sh
后显示/bin/sh -> dash
ls -l /bin/sh
这说明是用dash来进行解析的。
解决方案:
命令行执行:
dpkg-reconfigure dash(注意需要root权限),然后在界面中选择no 再运行ls -l /bin/sh
后显示/bin/sh -> bash
dpkg-reconfigure dash
ls -l /bin/sh