我不喜欢每次启动终端时都重新输入鱼。我希望Fish默认开启。如何将Fish shell设置为Mac上的默认shell ?
当前回答
这些适用于macOS v10.12.5 (Sierra) (16F73),也可能适用于其他一些最新和即将推出的macOS版本。
CHSH不足以改变默认shell。确保你按Command +,当你的终端是打开的,并改变' shell open with'选项为'Default login shell '。 如果是Bash,请确保执行echo $BASH_VERSION以确认您正在运行预期的Bash版本。Bash—version没有提供正确的信息。
其他回答
编辑文件.zshrc并将其更改为
执行 /bin/bash
或者你喜欢什么壳都行。
好处:它不需要root访问权限,可以在所有版本的OS X上运行。
唯一的问题是它不会以这种方式读取文件.bash_profile;只有当Bash作为交互式登录shell运行时,才会读取它。你必须从文件.bashrc中包含它,就像这样:
if [[ "$OSTYPE" == "darwin"* ]]; then
#local hack on osx.
if [[ -f $HOME/.bash_profile ]]; then
. $HOME/.bash_profile
fi
fi
另外:osx附带的bash版本有点过时,最好使用brew install bash安装一个最新版本的bash;在这种情况下,.zshrc文件应该运行正确的bash版本。目前是
exec /usr/local/Cellar/bash/5.1.8/bin/bash
在macOS v10.14 (Mojave)上,我必须做以下事情(以Z shell (zsh)为例):
brew install zsh
sudo sh -c "echo $(which zsh) >> /etc/shells"
chsh -s $(which zsh)
可以使用chsh更改用户的shell。
例如,运行以下代码将shell更改为Zsh
chsh -s /bin/zsh
正如Lorin在手册中所描述的,如果操作系统不知道shell,您必须将其添加到其已知列表:/etc/shell .
要更改Mac上的默认shell,运行以下命令:
chsh -s <name-of-shell>
你可以选择的shell列表有:
/bin/bash /bin/csh /bin/dash /bin/ksh /bin/sh /bin/tcsh /bin/zsh
因此,如果你想从/bin/zsh shell,你的命令将如下所示:
chsh -s /bin/zsh
您可以通过运行以下命令查看系统中所有可用的shell:
cat /etc/shells
从终端:
将Fish添加到/etc/shell,这将需要一个管理密码: Sudo echo /usr/local/bin/fish >> /etc/shell 使用chsh将Fish设置为默认shell: CHSH -s /usr/local/bin/fish
从系统首选项:
用户和组→按下当前用户→高级选项… 修改Login shell为/usr/local/bin/fish 按OK,退出并再次登录
推荐文章
- Mac/OS X上的/var/lib/docker在哪里
- Xcode构建失败“架构x86_64未定义的符号”
- 在OSX 10.11中安装Scrapy时,“OSError: [Errno 1]操作不允许”(El Capitan)(系统完整性保护)
- 如何在Mac OS X 10.6中使硬件发出哔哔声
- 从Cocoa应用程序执行一个终端命令
- Android Studio无法找到有效的Jvm(与MAC OS相关)
- NSRange从Swift Range?
- 如何在交互式Python中查看整个命令历史?
- 在OSX中永久设置PATH环境变量
- 如何停止mysqld
- Git显示“警告:永久添加到已知主机列表”
- 如何从远程SSH会话发送数据到本地剪贴板
- Docker- compose无法连接到Docker Daemon
- SSH端口转发~/。ssh /配置文件?
- 如何复制文件跨计算机使用SSH和MAC OS X终端