由于我们在Linux的shell的编程格式采用bash的方式,但是最近调试脚本的时候,遇到一些莫名奇妙的错误。Ubuntu默认是dash的格式,但是dash和bash在格式有很大的区别。
首先查看当前系统欢喜sh使用的是dash还是bash
nvidia@nvidia-desktop:~$ ls -al /bin/sh
lrwxrwxrwx 1 root root 4 1月 5 2022 /bin/sh -> bash
说明我本省系统就是bash
如果看到如下配置
nvidia@nvidia-desktop:~$ ls -al /bin/sh
lrwxrwxrwx 1 root root 4 12月 3 21:22 /bin/sh -> dash
说明系统是dash,通常为了一些网上的shell脚本,尤其是ROS内部的一些脚本不出问题,还是改回bash。
修改方法
sudo dpkg-reconfigure dash
记得选择NO,如果是中文,选择否。回车确认就可以修改成功,是不是很简单。