重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
最近一段时间在使用Bash on Ubuntu on Windows做shell脚本调试时发现在脚本中使用source时会报错,上网查了下才了解到原来是在Ubuntu中使用的并不是bash,而是使用优化过的dash,而在dash中是没有source,而在bash中才有source,这就有点麻烦了,平时在写脚本时有时会调用系统的function和一些自定义的function,没有source确实有点不太方便,而在此时可以在使用dpkg-reconfigure来修改配置dash,在平时可以用以下方法来验证看下自己的系统中使用的shell环境:
创新互联主要从事成都网站制作、成都做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务额敏,10余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575root@localhost:~# ls -l $(which sh) lrwxrwxrwx 1 root root 4 9月 9 22:09 /bin/sh -> dash
修改下:
root@localhost:~# dpkg-reconfigure dash
之后选择否,此时再看系统中使用的shell环境就改成bash
root@localhost:~# ls -l $(which sh) lrwxrwxrwx 1 root root 4 9月 9 22:09 /bin/sh -> bash
在此时就可以使用source,当然如果想不改动系统中的默认设置,也可以在平时写脚本使用定义好正确的shell环境,或者直接如下,用系统中的env命令让系统自己去寻找正确的shell环境:
#!/bin/env bash
另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。