如果我无权访问 chsh 或 /etc/passwd,如何将默认 shell 更改为 bash?

mca*_*dre 8 linux bash sh

我正在使用大学远程 Linux 帐户,遗憾的是默认 shellcsh没有选项卡完成。如何将我帐户的默认 shell 更改为bashchsh不可用。

jjl*_*lin 11

您可能应该尝试询问您的系统管理员是否可以为您更改默认 shell。如果他们不能或不会(就像我在大学时的情况一样),我使用的解决方法是添加

# Exec bash if using an interactive shell.
if ($?prompt) then
    setenv SHELL /path/to/bash
    exec $SHELL
endif
Run Code Online (Sandbox Code Playgroud)

.cshrc。(当然,请确保/path/to/bash用真实路径替换。bash如果系统提供的版本对于您的口味来说太过时了,这甚至可以是位于您的主目录下的版本。)为了效率,最好在.cshrc可行的情况下尽早执行此操作,以便您避免.cshrcbash替换csh过程后将变得毫无意义的额外处理。