題 如何在Ubuntu中更改shell? [重複]


這個問題在這裡已有答案:

我有一個Ubuntu服務器VPS,我想使用 /bin/bash/ 作為我的殼。我該怎麼改變我的shell?我有root訪問權限,但我不是root用戶。所以dash現在是我的默認shell。

我讀過了 如何在Ubuntu上將Bash作為默認shell? 和 chsh 接縫是首選的方式。但是當我打字的時候 chsh /bin/bash 我收到這條消息: chsh: unknown user /bin/bash

如果我只是輸入 /bin/bash Bash shell接縫工作正常。怎麼改呢?


76
2018-03-12 15:12


起源




答案:


要更改shell,請使用裸機 chsh 命令。這將提示您輸入新shell。您不必以root身份運行任何內容。


74
2018-03-12 16:14



啊,那更好! - Jonas
不要忘記退出並重新登錄以查看更改。 - hangtwenty
不能像普通用戶一樣工作:$ chsh您可能無法更改“用戶”的shell。 - Henning
適合我。聽起來你的系統被故意鎖定了。 - Michael Cole
我使用ssh,但是chsh問我密碼,我不知道。有辦法解決這個問題嗎? - Qwerty


以root身份運行時,您可以使用 chsh 更改其他用戶shell。您想要使用它的語法。您可以在沒有root權限的情況下更改自己的shell。

chsh -s /bin/bash username


99
2018-03-12 15:18



-1 chsh不需要以root身份運行來更改你的 擁有 貝殼。改變別人的shell需要root。 - Broam
這很有效。我總是得到“你可能不會更改shell for ...”錯誤消息。 - setzamora
註銷並重新登錄後觀察更改 - smac89
+1我嘗試後發現這個有效 chsh 以用戶身份登錄並獲取“您可能無法更改shell ...”的命令 - therobyouknow


您可以使用usermod命令更改用戶的默認shell。

sudo usermod -s <shell> <username>

替換為您要使用的shell的名稱(即/ bin / bash)以及要更改它的用戶名。

這將為/ etc / passwd文件中選擇的用戶名設置默認shell。


43
2018-03-12 16:53



使用 usermod 如果你看到“chsh你可能不會改變shell ...” - Xeoncross
投票,因為chsh確實不適合我。謝謝! - Mixaz
重要的是要注意 usermod 要求 sudo - ARun32