我需要将 PuTTY shell 从 更改bash
为ksh
永久。由于我没有管理员权限,因此我无法使用该chsh
命令和编辑。/etc/passwd
请帮助我了解文件中需要更改的内容.profile
,或者我是否需要在.bashrc
/.kshrc
文件中更改内容,以便我可以ksh
继续前进。
答案1
(根据评论...)您的管理员已告诉您添加exec ksh
到文件中~/.profile
,但这似乎对您不起作用。它不起作用,因为如果前者存在,您的bash
登录 shell 将代替它~/.bash_profile
。~/.profile
因此,请添加exec ksh
到您的~/.bash_profile
文件中。
就我个人而言,我将使用类似下面的方法(假设ksh
已知 shell 可执行文件位于/bin/ksh
):
if [ -x /bin/ksh ]; then
export SHELL=/bin/ksh
exec "$SHELL" -l
fi
这将是我的文件的全部,如果存在并且可执行,~/.bash_profile
它将/bin/ksh
作为登录 shell启动。然后/bin/ksh
shellksh
将继续替换bash
shell 并读取您的~/.profile
文件等(所以消除 exec ksh
如果~/.profile
您已将其添加到那里)。您的~/.bashrc
文件将不再被使用。
bash
如果由于某种原因ksh
从您的系统中删除了 shell ,上面的代码将为您留下一个shell。