我不喜欢每次启动终端时都重新键入鱼。我想fish
默认开启。如何在Mac上将鱼壳设置为默认壳?
我不喜欢每次启动终端时都重新键入鱼。我想fish
默认开启。如何在Mac上将鱼壳设置为默认壳?
Answers:
这些适用于MacOS Sierra 10.12.5(16F73)以及其他一些即将发布的MacOS版本。
chsh
不足以更改默认外壳。确保在终端打开时按Command+ ,,然后将“打开的外壳”选项更改为“默认登录外壳”。
如果是bash,请确保执行echo $BASH_VERSION
以确认您正在运行预期的bash版本。bash --version
没有给您正确的信息。
1.须藤nano / etc / shells
2.将/ usr / local / bin / fish添加到您的Shell列表中
3. chsh -s / usr / local / bin / fish
Shell open with: Default login shell
Terminal.app的设置
您可以使用chsh更改用户的外壳程序。
例如,运行以下代码,将您的shell更改为Zsh
chsh -s /bin/zsh
如手册所述,Lorin对此进行了说明,如果OS不知道该外壳,则必须将其添加到其已知列表中:/etc/shells
。
chsh: /usr/local/bin/fish: non-standard shell
解决方案是按照下面的@ lorin-hochstein答案所述将其添加到/ etc / shells
-s
尽管没有)。我会尽快重试。
从终端:
将Fish添加到/etc/shells
,这将需要管理密码:
sudo echo /usr/local/bin/fish >> /etc/shells
使用以下命令将Fish设置为默认外壳chsh
:
chsh -s /usr/local/bin/fish
在系统偏好设置中:
用户和组→按住Ctrl键单击“当前用户”→“高级选项...”。
将登录shell更改为 /usr/local/bin/fish
按确定,注销然后再次登录
sudo sh -c 'echo /usr/local/bin/fish >> /etc/shells'
echo /usr/local/bin/fish | sudo tee -a /etc/shells
这是另一种方法:
假设您使用MacPorts安装了它,可以通过执行以下操作:
sudo port install fish
您的外壳将位于中/opt/local/bin/fish
。
您需要告诉OSX这是有效的shell。为此,将此路径添加到/etc/shells
文件末尾。
完成此操作后,可以通过转到系统偏好设置->帐户来更改外壳。单击锁定以允许更改。右键单击该帐户,然后选择“高级选项...”。在“登录外壳”字段中,添加钓鱼路径。
Preferences
> General
> Shells open with:
>/bin/fish
/usr/local/bin/fish
。请参阅此屏幕快照,该屏幕快照zsh
已设置为默认屏幕截图。
我正在使用macOS Sierra。也可以在macOS Mojave中使用。
在macOS Mojave上,我必须执行以下操作(以zsh为例):
brew install zsh
sudo sh -c "echo $(which zsh) >> /etc/shells"
chsh -s $(which zsh)
zsh
。已存在于macOS Mojave上。捆绑在Mojave上,默认在Catalina中。
如何在现代macOS上获取最新版本的bash(在Mojave上测试)。
brew install bash
which bash | sudo tee -a /etc/shells
chsh -s $(which bash)
然后,您准备好完成vim样式的制表符补全,仅在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"
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 >
只需更改该值即可(使用中的write命令dscl
)。
要在Mac上更改默认Shell,请运行以下命令:
chsh -s <name-of-shell>
您可以选择的外壳列表为:
因此,如果您想从/ bin / zsh shell更改为,则命令将如下所示:
chsh -s /bin/zsh
您可以通过运行以下命令查看系统上所有可用的shell:
cat /etc/shells