shell脚本中不识别source命令

工作需要写一个批量执行的shell脚本,其中使用了source命令初始化Android编译环境加载特定的配置文件。将source命令写到脚本中,发现整个命令都没有变色,这是什么情况,心中打了个大问号,不过还是忽略了,接着码脚本,脚本完成后,兴致勃勃的执行了一下,发现source这行执行失败(command not found、source: not found ),导致后面用到的Android编译环境也失败了,大篇的失败,心塞塞的

原因:使用下面的命令查看下sh的详情

ls -l `which sh`

结果如图所示,/bin/sh默认指向了dash,so脚本默认是以dash模式执行的

解决问题:将系统默认的执行方式修改为bash,执行下面命令

dpkg-reconfigure dash

shell脚本中不识别source命令_第1张图片

执行结果,提示是否设置dash设置为系统默认shell模式,选择no,将bash设置为默认

这是完成后,重新查看sh详情,见下图

/bin/sh指向了bash。下面重新执行下shell脚本,如果还是提示command not found,只能重启下机器了

原文链接

你可能感兴趣的:(shell脚本中不识别source命令)