参考文献:
https://unix.stackexchange.com/questions/136423/making-zsh-default-shell-without-root-access
https://stackoverflow.com/questions/39621880/is-there-an-alternative-for-bashrc-for-bin-sh
笔者在服务器上无root权限,而且chsh也被管理员锁定,无权限无法使用(错误提示:You may not change the shell for …)。即使每次登入都执行bash
命令,配合tmux时真的不胜其烦。
参照上文链接,各种shell均存在一个每次登入时访问的文件(例如.bashrc for bash)。笔者使用的服务器默认shell是dash/sh,默认访问文件是.profile
,在其中加入
export SHELL=/user/bash
exec /user/bash -l
相应代码即可。
最终的.profile
文件如下:
# if running bash
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
# modified for changing default shell to bash
else
export SHELL=/bin/bash
exec /bin/bash -l
fi
# set PATH so it includes user's private bin directories
PATH="$HOME/bin:$HOME/.local/bin:$PATH"