尝试了另一个shell,并且非常喜欢它,以至于你想通过将它作为默认shell来一直使用它?以下是如何在Linux中更改默认shell的方法。
Bash并不是唯一的Shell。还有许多其他具有略微不同特征集的Shell可用。几个例子是Zsh,Fish,Ksh是Xonsh。
在任何给定的时间,您的系统上都可以安装多个shell。
如果您想选择其他shell作为默认shell,可以按以下方式使用chsh命令:
chsh -s path_to_binary_of_shell
您可以通过显示/etc/shell文件的内容来获取shell的二进制文件的路径。您也可以使用下面的命令来自动获取所需shell的二进制文件,使用该命令:
chsh-s$(which new_shell)
让我们在这里更详细地了解有关了解和更改shell的内容。
如何知道您当前使用的是哪个shell?
有几种方法可以确定目前使用的是哪种shell,尽管这些方法的准确性可能会受到专家的质疑。
最简单和最常见的方法是使用:
echo $0
$0是一个特殊的shell变量,用于获取shell或shell脚本的名称(如果您在脚本中使用它)。
另一种方法是使用以下方法检查流程:
ps-p$$
这里,$$为您提供当前进程/shell的进程ID。
如何安装另一个shell?
就像其他软件包一样。大多数流行的shell,如Fish和Zsh,都可以从您的发行版的存储库中获得,并且可以轻松安装。较新的、鲜为人知的shell,如Xonsh,可能有不同的安装说明。你可以从项目的网页上获得。
假设你想在Ubuntu上安装Zsh。使用:
sudo apt install zsh
如何更改当前shell?
现在您已经安装了另一个shell,让我们看看如何更改它。
很可能,您只需要输入shell的名称。比如说,你必须切换到Zsh:
zsh
要退出当前shell,请输入exit,然后返回到默认shell。
如何知道默认shell?
有一个SHELL环境变量告诉您当前用户的默认shell:
echo $SHELL
让我们举一个我切换到Zsh的例子。当前shell显示给zsh,默认shell保持bash:
这告诉您更改shell不会更改默认shell。这意味着下次登录终端/系统时,您将返回到旧的默认shell,而不是新的shell。
如何了解系统中可用的shell?
您可以通过查看/etc/shell的内容来查看系统中可用的shell:
cat /etc/shells
以下是我的系统中目前可用的shell:
如何更改默认shell?
/etc/shell文件的内容显示了可用shell的二进制文件的位置。您必须将其与chsh命令一起使用。
比方说,我想让Zsh shell成为默认值。以下是我使用的内容:
chsh -s /usr/bin/zsh
注销并再次登录以查看更改。
请注意,这将更改当前用户的默认shell。如果您是管理员,并且希望更改其他用户的默认shell,请使用:
sudo chsh -s/usr/bin/zsh other_username
结论
Linux就是选择。你可以随心所欲地做出改变。这是另一个例子,其中您不受您的发行版提供的默认shell的选择的约束。您可以将shell更改为您喜欢的shell。
【原文链接】https://itsfoss.com/linux-change-default-shell/
【作者】Abhishek Prakash
点赞富三代,分享美一生 ^|^