如何在Ubuntu中更改Shell?[重复]


87

这个问题已经在这里有了答案:

我有一个Ubuntu Server VPS,并且想/bin/bash/用作外壳。我该如何更换外壳?我具有root用户访问权限,但不能以root用户身份工作。所以破折号现在是我的默认外壳。

我已经阅读了如何在Ubuntu上将Bash设置为默认外壳?chsh接缝要走的首选方式。但是当我键入时,chsh /bin/bash我收到以下消息: chsh: unknown user /bin/bash

如果我只是键入/bin/bashBash shell接缝,就可以正常工作。怎么改变呢?

Answers:


85

要更改外壳,请使用光头chsh命令。这将提示您输入新的外壳。您不必以root用户身份运行任何内容。


啊,那更好!
乔纳斯(Jonas)2010年

8
不要忘记注销并重新登录以查看更改。
2013年

26
无法以普通用户身份运行:$ chsh您不能更改'user'的外壳。
亨宁2014年

1
为我工作。听起来您的系统已被故意锁定。
Michael Cole

1
我使用ssh,但是chsh询问我不知道的密码。有什么办法解决这个问题?
Qwerty

113

当以root身份运行时,可以chsh用来更改其他用户的shell。您要使用它的语法。您可以更改没有root权限的自己的shell。

chsh -s /bin/bash username


10
-1 chsh无需以root用户身份运行即可更改自己的 shell。改变别人的外壳需要root。
Broam

2
这工作了。我总是收到“您可能不会为...更改外壳”错误消息。
setzamora

2
注销并重新登录后观察更改
smac89 '17

1
+1我以chsh用户身份登录后尝试执行命令并获得“您可能不会为...更改外壳” 后,我发现它可以正常工作
therobyouknow

54

您可以使用usermod命令更改用户的默认外壳程序。

sudo usermod -s <shell> <username>

用您要使用的shell名称(例如/ bin / bash)和要更改其名称的用户名替换。

这将为/ etc / passwd文件中选择的用户名设置默认外壳。


10
使用usermod,如果你看到“CHSH您不可以更换的外壳为...”
Xeoncross

2
投赞成票,因为chsh确实对我不起作用。谢谢!
Mixaz '16

usermod需要注意的重要事项sudo
ARu​​n32'7
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.