【问题】
Ubuntu系统中,在使用sh命令执行shell脚本时,如果shell脚本中执行含有source命令的时候,出现先source: not found得报错。
【原因】
查看Ubuntu系统/bin/sh的实际链接,发现使用的是dash,而source xxx.sh或者. xxx.sh命令需要使用bash解析器,因此出现报错。
【解决】
1. 使用ls -l /bin/sh命令,查看sh的实际链接指向
$ ls -l /bin/sh
lrwxrwxrwx 1 root root 4 10月 15 21:25 /bin/sh -> dash
2. 执行sudo dpkg-reconfigure dash命令,在弹出信息中选择No,将命令解析器换回bash
3. 再次使用ls -l /bin/sh命令,查看sh的实际链接指向,如果已经指向bash,则处理完成。
,