我最近安装了 ubuntu hardy,发现 shell 命令用 TAB 补全不起作用,我的系统中安装了包“bash-completion”。我猜这与 dash 是默认 shell 有关?有没有办法在 dash 中使用 tab 补全?如果没有办法,那么我该如何将我的默认 shell 更改为 bash?
答案1
Dash 不应是默认的用户 shell。这会让生活变得不那么方便,因为 bash 在交互式会话中更有用。您可以检查您实际运行的 shell echo $SHELL
。
看看/etc/bash.bashrc
第 32 行左右。取消注释启用配置。
答案2
我相信 sh 实际上在 Ubuntu 中符号链接到 /bin/dash。此 shell 不支持制表符补全。要将 shell 设置为 bash,请使用以下命令:
sudo usermod -s /bin/bash username
答案3
/bin/sh 符号链接到 /bin/dash 要更改它,请执行以下操作:sudo rm /bin/sh sudo ln -s /bin/bash /bin/sh