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