使用Nushell有一段时间了,今天总算下定决心将其设置为默认shell ,因此记录下macOS设置默认shell的过程
⚠️注意!如果你之前没有使用过Nushell,则非常不建议将其设置为默认shell,请先熟悉并使用一段时间后再做决定!
-
安装Nushell:
brew install nushell
-
设置环境变量:
首先查看当前已有的环境变量:$env | reject config | transpose key val | each {|r| echo $"$env.($r.key) = '($r.val)'"} | str join (char nl)
正常情况下,要删除$env.PWD
和$env.SHELL
这两个变量,然后剩余的手动添加到nushell到env.nu配置文件中:
vim /Users/YourUserName/Library/Application Support/nushell/env.nu
-
添加Nushell到/etc/shells中:
sudo echo "/opt/homebrew/bin/nu" >> /etc/shells
如果该命令报错:zsh: permission denied: /etc/shells
则可以手动修改:sudo vim /etc/shells
-
修改默认shell:
chsh -s /opt/homebrew/bin/nu
如果命令报错:chsh: /opt/homebrew/bin/nu: non-standard shell
则检查第二步是否完成 -
验证:
echo $SHELL
-
注销重新登录即可
PS:由于nushell的配置文件在Application Support文件夹下,所以我还创建了一个软链接到~/.config/nushell
下,方便备份和编辑
ln -s $nu.env-path ~/.config/nushell/env.nu
ln -s $nu.config-path ~/.config/nushell/config.nu
发表回复