Ubuntu非root权限非chsh更改默认shell

参考文献:
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"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值