我最近继承了一个开箱即用的Ubuntu Hardy盒子。我尝试做的第一件事就是编辑我的.bashrc配置文件来做一些着色并添加一些我通常拥有的别名,但是当我尝试使用〜/ .bashrc时,我得到sh: source: not found
并且我也注意到了tabbed自动完成功能根本不起作用 - 我相信这称为bash_completetion,但我确信你可以告诉我,我不是专家。
我是否应该编辑任何特定文件以获得我习惯于开箱即用的基本功能?并且不能安装源命令是不寻常的吗?
答案 0 :(得分:11)
一般思维过程:
使用ps
确认您实际使用sh
而不是bash
确认/bin/bash
存在且工作正常(如果没有,则重新安装)
使用chsh
将您的登录shell更改为bash
如果缺少bash-completion包
答案 1 :(得分:1)
你应该得到bash: source: command not found
(当然,bash永远不会找不到source
)。如果你得到sh:
,那么你要么根本不运行bash,要么运行带有标志的bash,该标志告诉它假装它是Bourne shell /bin/sh
。键入bash
以获得真正的重击,或者编辑启动配置,使其不会为您传递该标志(不确定它们在Ubuntu中的位置)。
答案 2 :(得分:0)
Ubuntu服务器有时将/ bin / sh作为默认shell。这与您发布的问题一致,因为/ bin / sh没有可用的源命令。如果您注意到缺少bash功能,则可能是您没有使用bash。以下是要遵循的步骤,以及每当您登录到新的* nix框时要记住的事项:
echo $0
cat /etc/shells
可用的shell
/bin/bash
apt-get install bash
(Ubuntu / Debian特定)exec /bin/bash
chsh -s /bin/bash