ubuntu虚拟机环境中报如下错误:
查看原因:
进入/bin目录,查看sh的链接文件,显示如下:表示sh命令链接到的是dash,但是pushd命令需要在bash的环境中执行。
解决:
sudo dpkg-reconfigure dash 将dash设置为No。
执行sudo dpkg-reconfigure dash 命令,将dash设置为No。
root@parallels-Parallels-Virtual-Platform:/bin# ls -lh sh
lrwxrwxrwx 1 root root 4 Aug 10 2018 sh -> dash
root@parallels-Parallels-Virtual-Platform:/bin# ls -lh bash
-rwxr-xr-x 1 root root 1.1M Jun 7 06:28 bash
root@parallels-Parallels-Virtual-Platform:/bin# 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'
再次查看sh的链接:已经修改为bash了。
root@parallels-Parallels-Virtual-Platform:/bin# ls -lh sh
lrwxrwxrwx 1 root root 4 Jul 10 20:41 sh -> bash