#経緯(読まなくていい)
大学を卒業してはや半年。社会人1年目になって触るmacOSは未知の領域すぎた。
windowsとLinuxしか触ってこなかった自分にとってmacOSのターミナル生活は秒で終わりを告げる。新しいシェルと効率化に喜ぶもとある壁にぶつかる。
一人の先輩は言った。
「fishっていう便利なシェル、使ってないの?w😜」
もう一人の先輩は言った。
「うわ〜フィッシュってるよ〜なんでzshないの〜😠」
聞く先輩によって使う環境は様々。
雑魚エンジニアにとっては〇〇言語はA先輩に質問。〇〇言語はB先輩に質問しようと効率よく質問することなんてザラにあるし、どうせならその先輩にも気持ちよくこうすればいいと指摘してもらって、winwinな関係を築きたい。そんな時の備忘録。
#やりたいこと
macOSでzshとfishをパパッと変えたい。(他のシェルも使っていたら好きなシェルに変えれる。多分。)
追記:あとから一発で変更するコマンド見つけた。
##一覧の表示
下記のように、cat shellのパス
で現在インストールされているシェル一覧が表示
hoge@MacBook-Pro ~> cat /etc/shells
実行結果↓
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.
/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
/usr/local/bin/fish
##切り替え方
切り替えるにはchsh -s 切り替えたいパス
でいける。
#fishからzshに切り替える方法
hoge@MacBook-Pro ~> chsh -s /bin/zsh
#zshからfishに切り替える方法
[hoge@MacBook-Pro] ~
% chsh -s /usr/local/bin/fish
切り替えた後そのユーザのパスワードを聞かれるので、それでシェルを変えれる。
#終わりに
正直ちょっと考えればこれぐらい誰でもできるかと思うが、こういう深夜テンション記事が
僕みたいな小心者エンジニア仲間の誰か一人に手助けになってくれればと思う。
#追記
なんかエイリアスで切り替える方法見つけよと思ったら、下記のようにshellの名前打ち込んだら
一発で変わること見つけてしまった。
ただiTerm2を終了したりした際に元に戻るんで、短期的に切り替えたいならこれでいいのかなと思ったり。
(まあなんかいい感じにしたら切っても切り替えられる仕組みを作れそうな気もする。)
#fish -> zsh
zsh
#zsh -> fish
fish
###おまけ
数ヶ月エンジニアとして働き始めて思う二つのシェルの良さ
- fishの良さ
-> 色々な便利機能がある。色とか雰囲気もなんかおしゃれでみやすい。ghq,pecoとか導入すると一気に自分のレポジトリとかジャンプ、検索、補完とか出来て便利感は強い
- zshの良さ
-> bash互換のスクリプトがfishだと一部動かない。 昔から使っている人が多い印象。fishに比べて早いらしい。(感じたことない) 調べるとだいたいzshで出てくるから使ってる人は多い印象。