我在我的 .profile 中使用它来在登录时切换到 bash:
case $- in
*i*)
# Interactive session. Try switching to bash.
if [ -z "$BASH" ]; then # do nothing if running under bash already
bash=$(command -v bash)
if [ -x "$bash" ]; then
export SHELL="$bash"
exec "$bash -l"
fi
fi
esac
有没有办法让 bash shell 打开后自动执行以下命令?
PS1='\[\e[1;91m\][\u@\h \w]\$\[\e[0m\] '
我将该行放入 .bash_profile 中,但它不会更改提示。
答案1
对于交互式 shell,请将PS1
行放入您的 中~/.bashrc
,而不是放在~/.profile
和 source it 中:
source ~/.bashrc
(或注销/登录)
此外,如果您想永久更改您的 shell:
chsh -s /bin/bash
或以 root 身份使用vipw
或进行编辑editor /etc/passwd
答案2
这应该可行:
...
export SHELL="$bash"
PS1='\[\e[1;91m\][\u@\h \w]\$\[\e[0m\] ' exec $bash -l
...
如果您拥有 root 或类似权限:
usermod -s $bash dave111