端末を起動するたびに魚を入力し直すのは好きではありません。私が欲しいfish
デフォルトでオンに。Macでフィッシュシェルをデフォルトのシェルとして設定するにはどうすればよいですか?
端末を起動するたびに魚を入力し直すのは好きではありません。私が欲しいfish
デフォルトでオンに。Macでフィッシュシェルをデフォルトのシェルとして設定するにはどうすればよいですか?
回答:
これらは、MacOS Sierra 10.12.5(16F73)と、おそらく他のいくつかの最新および今後のバージョンのMacOSに適用されます。
chsh
デフォルトのシェルを変更するには不十分です。端末が開いているときにCommand+ キーを押して,、[シェルで開く]オプションを[デフォルトのログインシェル]に変更してください。
bashの場合は、実行echo $BASH_VERSION
して、目的のバージョンのbash を実行していることを確認してください。bash --version
正しい情報を提供しません。
1. sudo nano / etc / shells
2.シェルのリストに/ usr / local / bin / fishを追加します
3. chsh -s / usr / local / bin / fish
Shell open with: Default login shell
、Terminal.appの設定を変更する必要があります
chshを使用してユーザーのシェルを変更できます。
たとえば、次のコードを実行して、シェルをZshに変更します。
chsh -s /bin/zsh
マンページとLorinによって説明されているように、OSでシェルが認識されていない場合は、既知のリストに追加する必要があります/etc/shells
。
chsh: /usr/local/bin/fish: non-standard shell
ソリューションは、以下の@ lorin-hochstein回答で説明されているように/ etc / shellsに追加することでした
-s
いえ)シンプルなユーザーとして機能するchshを試しました。すぐに再試行します。
ターミナルから:
Fishを/etc/shells
に追加します。これには管理者パスワードが必要です。
sudo echo /usr/local/bin/fish >> /etc/shells
Fishを次のコマンドでデフォルトのシェルにしますchsh
。
chsh -s /usr/local/bin/fish
システム環境設定から:
ユーザーとグループ→現在のユーザーをCtrlキーを押しながらクリック→詳細オプション...
ログインシェルを /usr/local/bin/fish
[OK]を押してログアウトし、再度ログインします
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に伝える必要があります。これを行うには、このパスを/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にすでに存在します。モハベにバンドルされ、カタリナではデフォルト。
最新のmacOS(Mojaveでテスト済み)で最新バージョンのbashを取得する方法。
brew install bash
which bash | sudo tee -a /etc/shells
chsh -s $(which bash)
これで、bash> = 4でのみ使用できるvimスタイルのタブ補完を取得する準備ができました(現在のバージョン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
)。