我在使用 Ubuntu 时遇到了一个问题。ll
如果我从 SSH 登录到我的系统,Bash 别名等将不起作用。bash
在 shell 中写入命令后,它可以正常工作。
以前它可以工作。可能是什么问题?
echo $SHELL
/bin/bash
答案1
有不同的文件集,您可以在其中设置这些别名,具体取决于 Bash 是否作为登录 shell 启动。
如果您登录到您的机器(即提供用户名和密码),那么 Bash 将始终加载,并且如果找到其中一个,则/etc/profile
加载第一个。~/.bash_profile
~/.bash_login
~/.profile
如果您从计算机启动新终端,则不会启动登录 shell,而是启动所谓的交互式 shell。这将加载~/.bashrc
,但不会加载上述任何内容,并且您的别名也可能存储在这里。*
.bashrc
要在运行登录 shell 时加载的内容,您应该将以下内容添加到~/.bash_profile
:
if [ -f ~/.bashrc ]; then
source ~/.bashrc
fi
通过 SSH 重新连接,别名~/.bashrc
将可用。
* 如果它不在此文件中,则可能存在其他系统范围的bashrc
文件,例如/etc/bash.bashrc
在 Ubuntu 上。请参阅:环境变量 – 社区 Ubuntu 文档