如何更改 Linux 中的默认 Shell?
尝试过另一个 shell 并非常喜欢它,以至于您想通过将其设为默认 shell 来一直使用它?下面介绍了如何更改 Linux 中的默认 shell。
Bash 并不是唯一的 shell。还有许多其他 shell 具有稍微不同的功能集。一些例子是 Zsh、Fish、Ksh 和 Xonsh。
在任何给定时间,您的系统上都可以安装多个 shell。
如果您想选择其他 shell 作为默认 shell,可以按以下方式使用 chsh 命令:
chsh -s path_to_binary_of_shell
您可以通过显示 /etc/shells
文件的内容来获取 shell 的二进制文件的路径。您还可以使用下面的命令,通过 which 命令自动获取所需 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?
您可以通过查看 /etc/shells
的内容来查看系统中可用的 shell:
cat /etc/shells
以下是我的系统中当前可用的 shell:
如何更改默认外壳?
/etc/shells
文件的内容显示了可用 shell 的二进制文件的位置。您必须将其与 chsh 命令一起使用。
假设我想将 Zsh shell 设置为默认 shell。这是我使用的:
chsh -s /usr/bin/zsh
注销并重新登录以查看更改。
请注意,这将更改当前用户的默认 shell。如果您是管理员并且想要更改其他用户的默认 shell,请使用:
sudo chsh -s /usr/bin/zsh other_username
结论
Linux 就是选择。您可以自由地根据自己的意愿进行更改。这是另一个示例,您不受发行版提供的默认 shell 选择的约束。您可以将外壳更改为您喜欢的外壳。享受更新于:3个月前
相关文章
- 【说站】linux 如何退出python
- CentOS7部署发布.NET Core网站Ngnix安装配置图文教程
- dev/hda5在linux中表示什么
- linux高并发是什么意思
- linux为什么没有病毒
- linux nobody是啥用户
- linux 命令之查看文件内容
- linux 命令之 ls 命令详解
- Linux下RabbitMQ安装和.NET Core使用RabbitMQ.Client操作
- linux shell的几种截取字符串的方法
- linux的Shell脚本中如何判断某个命令是否存在
- Linux中date命令如何格式化输出需要的时间格式
- 使用Docker Wine Qemu KVM在Linux运行Windows应用
- Debian Linux国内常用镜像源
- CentOS7安装unzip解压工具命令使用方法
- Linux使用Docker部署.NET6网站图文教程
- Linux中通过命令连接指定WiFi
- Linux下执行的Shell脚本如何判断当前脚本执行是否有root权限
- 什么是宝塔Linux
- Linux 删除文件或目录 rm 命令