我不喜欢每次开始终端时重新输入鱼。我希望默认启用fish
。如何在Mac上将fish shell设置为我的默认shell?
答案 0 :(得分:208)
<强> 1。 sudo nano / etc / shells
<强> 2。将/ usr / local / bin / fish添加到您的shell列表中
第3。 chsh -s / usr / local / bin / fish
答案 1 :(得分:66)
您可以使用chsh更改用户的shell。
运行以下代码,例如,将shell更改为Zsh
chsh -s /bin/zsh
如联机帮助页和Lorin所述,如果操作系统不知道shell,则必须将其添加到已知列表中:/etc/shells
。
答案 2 :(得分:62)
从终端:
将鱼添加到/etc/shells
,这需要管理密码:
sudo echo /usr/local/bin/fish >> /etc/shells
使用chsh
将Fish设为您的默认shell:
chsh -s /usr/local/bin/fish
来自系统偏好设置:
用户和群组→按住Ctrl键单击当前用户→高级选项...
将登录shell更改为/usr/local/bin/fish
按确定,然后再次注销
答案 3 :(得分:22)
这些适用于MacOS Sierra 10.12.5(16F73)以及其他一些近期和即将推出的MacOS版本。
chsh
不足以更改默认shell。确保在终端打开时按 Command + ,,然后用&#39;更改“打开的贝壳”。默认登录shell的选项。&#39;
如果是bash,请确保执行echo $BASH_VERSION
以确认您运行的是预期版本的bash。 bash --version
未向您提供正确的信息。
答案 4 :(得分:20)
这是另一种方法:
假设您使用MacPorts安装它,可以通过执行以下操作来完成:
sudo port install fish
您的shell将位于/opt/local/bin/fish
。
您需要告诉OSX这是一个有效的shell。为此,请将此路径添加到/etc/shells
文件的末尾。
完成此操作后,您可以转到系统偏好设置 - &gt;更改外壳程序。帐户。单击“锁定”以允许更改。右键单击该帐户,然后选择“高级选项...”。在“登录shell”字段中,添加fish的路径。
答案 5 :(得分:10)
唯一对我有用的是所有这些方法的组合。
首先,我必须将鱼添加到/etc/shells
文件
然后我跑了chsh -s /usr/local/bin/fish
最后,我输入 Command + ,并将/usr/local/bin/fish
添加到默认路径
只有在完成所有这三件事之后,鱼才开始弹出作为新终端窗口的默认设置。
答案 6 :(得分:9)
答案 7 :(得分:6)
在macOS Mojave上,我必须执行以下操作(以zsh为例):
brew install zsh
sudo sh -c "echo $(which zsh) >> /etc/shells"
chsh -s $(which zsh)
答案 8 :(得分:4)
chsh
程序将允许您更改默认shell。它需要可执行文件的完整路径,因此如果您的shell为fish
,那么当您键入which fish
时,它会要求您提供输出。
您会看到以“Shell:
”开头的行。如果您从未编辑过它,则很可能会说“Shell: /bin/bash
”。将/bin/bash
路径替换为所需shell的路径。
答案 9 :(得分:4)
/usr/local/bin/fish
。我正在使用macOS Sierra。
答案 10 :(得分:4)
在终端中,使用 Command + ,打开终端首选项。
在设置选项卡上,选择其中一个主题,然后选择右侧的shell选项卡。
您可以设置自动启动命令fish
。
答案 11 :(得分:2)
heimdall:~ leeg$ dscl
Entering interactive mode... (type "help" for commands)
> cd /Local/Default/Users/
/Local/Default/Users > read <<YOUR_USER>>
[...]
UserShell: /bin/bash
/Local/Default/Users >
只需更改该值(使用dscl
中的write命令)。
答案 12 :(得分:0)
如果您在使用其他方法时遇到麻烦,请在mac Mojave上工作,但通常应该可以工作。
which fish
将输出路径添加到“系统偏好设置>用户和组>右键单击用户,高级选项”,将结果粘贴到“登录外壳程序:”中
答案 13 :(得分:0)
如何在现代macOS上获取最新版本的bash(在Mojave上测试)。
brew install bash
which bash | sudo tee -a /etc/shells
chsh -s $(which bash)
然后您就可以使用get vim style tab completion了,它仅在bash> = 4上可用(brew
中的当前版本为5.0.2
# If there are multiple matches for completion, Tab should cycle through them
bind 'TAB':menu-complete
# Display a list of the matching files
bind "set show-all-if-ambiguous on"
# Perform partial completion on the first Tab press,
# only start cycling full results on the second Tab press
bind "set menu-complete-display-prefix on"
答案 14 :(得分:0)
这对我来说是全新安装Mac osx(sierra)的工作:
sudo chown $(whoami) /etc/shells
sudo echo /usr/local/bin/fish >> /etc/shells
chsh -s /usr/local/bin/fish
sudo chown root /etc/shells
答案 15 :(得分:0)
要在Mac上更改默认Shell,请运行以下命令:
chsh -s <name-of-shell>
您可以选择的外壳列表为:
因此,如果您要从/ bin / zsh shell更改,您的命令将类似于:
chsh -s /bin/zsh
您可以通过运行以下命令查看系统上所有可用的外壳程序:
cat /etc/shells
答案 16 :(得分:0)
M1 mac 上的 Homebrew 应该使用 /opt/homebrew
而不是 /usr/local
。
您可以查看鱼的位置 which fish
。对我来说,鱼位于 /opt/homebrew/bin/fish
,这是我添加到 etc/shells