版权声明:欢迎转载。转载请注明地址:https://blog.csdn.net/weixin_32820767 https://blog.csdn.net/weixin_32820767/article/details/81774199
先看看是用的哪个 shell
ls -al /bin/sh
lrwxrwxrwx 1 root root 4 Jul 17 22:49 /bin/sh -> dash
如果是 Dash 可用以下方法切回 Bash(选择 NO)
方法一
sudo dpkg-reconfigure dash
$ sudo dpkg-reconfigure dash
Removing 'diversion of /bin/sh to /bin/sh.distrib by dash'
Adding 'diversion of /bin/sh to /bin/sh.distrib by bash'
Removing 'diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by dash'
Adding 'diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by bash'
方法二
sudo ln -fs /bin/bash /bin/sh
检查一下,
$ ls -al /bin/sh
lrwxrwxrwx 1 root root 4 Aug 16 23:00 /bin/sh -> bash
默认就是bash了。很多shell都写#!/bin/bash
,但默认是dash不是bash 所以就有shell各种错误 。