OSXでzshからbashに切り替えて、再び元に戻しますか?


193

イムはRailsでの開発を学び、zshの力を発見しました。ただし、他のいくつかのタスクでは、通常のBashを使用したいと思っています。それらは同じですが、状況によってはbashのレイアウトに慣れているだけです。どうやって切り替えるか、またはzshをオンまたはオフに切り替えますか?ありがとう!

回答:


379

を使用execして、現在のシェルを新しいシェルに置き換えることができます。

に切り替えるbash

exec bash

に切り替えるzsh

exec zsh

これは新しいターミナルウィンドウなどには影響しませんが、便利です。


1
どういたしまして!この回答に満足している場合は、回答の左側にあるチェックマークをオンにして、承認済みとしてマークしてください。ありがとう!
larsk、

1
または、単にzshを呼び出し、完了exitしたらbashに戻ります。それを実行することは不要で望ましくないようです。
Chris Page

すべては、終了時にターミナルウィンドウで何を実行するかによって異なります。私自身、サブシェルを開始することは不必要で望ましくないと思います。
12

2
デフォルトをどのように変更しますか?また、zshで「exec bash」を実行すると、bash_profileが読み込まれません。
kalehv 14年

1
zshを使用したい場合と、やりたいことに干渉する場合があります。デフォルトを前後に設定することは悪い考えなので、これは完璧なソリューションです!!! 賞賛!!
Bob Roberts

126

あなたが試すことができます chsh -s /bin/bashデフォルトではbashを設定するために、またはchsh -s /bin/zshデフォルトとしてのzshを設定します。


53

zshとbashをいくらか頻繁に切り替えます。しばらくの間、私はbash_profileをすべてのスイッチから調達する必要がありました。その後、私はあなたが(通常)行うことができることを知りました

exec bash --login

あるいは単に

exec bash -l

1
phillに感謝します。thoughtbot/ laptopをインストールしましたが、私の設定がすべて台無しになっています。あなたのヒントは、私のbash環境を取り戻すのに役立ちます。
Seralto、2015年

1
「--login」が何のために書いたのか、役に立つでしょうか?
Ewoks 2018年

Make bash act as if it had been invoked as a login shell (see INVOCATION below). ソース
ソニー、

16

一時的なスイッチの場合

上記のようにexecを使用できますが、より永続的な解決策として使用できます。

あなたは使うことができます CHSH -s / binに/ bashのを(のbashに切り替えるには)およびCHSH -s / binに/ zshの(zshのにスイッチへ)



6

zshには、emulatecshが完全にエミュレートされることはありませんが、適切なオプションを設定することにより、さまざまなシェルをエミュレートできる組み込みコマンドがあります。

emulate bash
perform commands
emulate -R zsh

-Rフラグは、すべてのオプションをそのシェルのデフォルト値に復元します。

参照:zshマニュアル


1
エミュレートするbashのバージョンはわかりませんが、bash 4.xをエミュレートしますか?または5.x?
Edgar Aroutiounian

2

bashターミナルに入力してbashに切り替え、次に入力zshしてzshに切り替えることができるはずです。少なくとも私にとってはうまくいきます。


これはさらに簡単です。
アンドロメダ

2
これは機能しますが、入力するたびに、zshまたはbashサブシェル(現在のシェルの下のサブプロセス)に移動します。最上位のシェルに戻るには、exitを何度か入力する必要があります。
RichVel

0

Mac OS Catalinaでは、デフォルトのインタラクティブシェルはzshです。シェルをbashからzshに変更するには:

chsh -s /bin/zsh

次に、Macのパスワードを入力する必要があります。ターミナルを終了して、再度開きます。sshに正常に変更されたかどうかを確認するには、次のコマンドを発行します。

echo $SHELL

結果が/ bin / zshであれば、タスクは完了しています。

これをbashに戻すには、ターミナルで次のコマンドを発行します。

chsh -s /bin/bash

を使用して再度確認しecho $SHELLます。その後、結果は/ bin / bashになります。


0

入力するbashか、常にbashを使用したい場合:

「iTerm2」

  • [設定]> [プロファイル]> [コマンド]に移動します
  • ドロップダウンから「コマンド」を選択します
  • タイプ bash

iTermを閉じてテストし、再度開きます


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.