Ubuntu中使用source报错处理办法

网友投稿 600 2022-09-21

Ubuntu中使用source报错处理办法

Ubuntu中使用source报错处理办法

最近一段时间在使用Bash on Ubuntu on Windows做shell脚本调试时发现在脚本中使用source时会报错,上网查了下才了解到原来是在Ubuntu中使用的并不是bash,而是使用优化过的dash,而在dash中是没有source,而在bash中才有source,这就有点麻烦了,平时在写脚本时有时会调用系统的function和一些自定义的function,没有source确实有点不太方便,而在此时可以在使用dpkg-reconfigure来修改配置dash,在平时可以用以下方法来验证看下自己的系统中使用的shell环境:

root@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

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:20.16 20.17shell中的函数(上下);20.18 shell中的数组;20.19 告警系统需求分析
下一篇:读书笔记--《Python基础教程第二版》-- 第三章 使用字符串
相关文章

 发表评论

暂时没有评论,来抢沙发吧~