使用Nushell有一段时间了,今天总算下定决心将其设置为默认shell ,因此记录下macOS设置默认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