%20%E3%82%92%E3%80%8C%E7%84%A1%E5%8A%B9%E3%80%8D%E3%81%AB%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%E3%81%A7%E3%81%97%E3%82%87%E3%81%86%E3%81%8B%3F.png)
私は zsh や oh-my-zsh を含む新しい開発環境を試していました。今では oh-my-zsh をインストールしたので、私のターミナル (iTerm2 とターミナル) でデフォルトで起動し、常に zsh で起動し、oh-my-zsh の設定がオンになっています。oh-my-zsh をアンインストールせずに、zsh と oh-my-zsh でのセットアップの使用を「無効にする」または停止することは可能でしょうか? また、それらを再びオンにする方法も知っておくと便利です。
現在、私の端末は自動的に zsh に入り (そう思います)、自動的に oh-my-zsh を使用します。これをさらに制御し、zsh が使用されているときと oh-my-zsh 機能が使用されているときの両方を制御できるようにしたいと考えています。
私が知りたいことの 1 つは、ターミナル アプリケーションが起動時にどのシェルを実行するかをどのように認識するかということです。これも制御できれば便利です。
あなたが私に与えるすべてのコマンドの「理由」をできるだけ詳しく説明していただければ、役に立つと思います! :)
私は OS X を使用しています。それが重要かどうかはわかりませんが、私自身の環境よりも、より一般的な Unix 環境に適用できる回答の方が好みです。
答え1
zsh
ご質問の文言が曖昧なので、 の使用をやめたいのか、 の使用をやめたいのかわかりませんoh-my-zsh
。両方についてお答えします。
無効化zsh
単に を実行してchsh
、以前使用していたシェルを選択します。以前使用していたシェルがわからない場合は、ほぼ間違いなく ですbash
。このコマンドは、ユーザーに関連付けられている「ログイン シェル」を変更します。基本的に、デフォルトのシェルを変更します。
変更を有効にするには、新しいターミナル ウィンドウを開く必要があります。これが機能しない場合は、ログアウトして再度ログインし、環境を再初期化する必要があります。
無効化のみoh-my-zsh
- が存在するかどうかを確認します
~/.zshrc.pre-oh-my-zsh
。おそらく存在します。(このファイルは、oh-my-zsh
インストール スクリプトが以前の を.zshrc
削除したときに作成されます。 は.zshrc
の起動ファイルでありzsh
、.bashrc
のに似ていますbash
。) - そうであれば、 を実行します
mv ~/.zshrc ~/.zshrc.oh-my-zsh
。これにより、 でoh-my-zsh
作成されたものが.zshrc
削除され、 を実行して元のものを復元できるようになりますmv ~/.zshrc.pre-oh-my-zsh ~/.zshrc
。 - 存在しない場合は、
~/.zshrc
テキスト エディターで開きます。 という行を見つけてsource $ZSH/.oh-my-zsh
、コメント アウトするか削除します。これにより、 の初期化が無効になりますoh-my-zsh
。
変更を有効にするには、シェルを再起動する必要があります。
答え2
新しいデフォルト シェルを手動で設定するには、chsh -s /my/ new/shell (例: chsh -s /bin/bash) を実行します。その後、シェルを再度開きます。
答え3
@Gilles の回答では少し隠されていますが、.zshrc .zshenv などの設定なしで zsh をロードする簡単な方法です。
zsh -f
これは、設定内の何かが zsh の機能の動作を妨げているかどうかをテストする場合に便利です。
答え4
環境変数を設定することで、zshにユーザーごとの設定ファイルを別のディレクトリから読み込むように指示することができます。ZDOTDIR
zsh を起動する前に。
設定ファイルを読み込まずに zsh を起動したい場合は、 をZDOTDIR
存在しないディレクトリに設定します。 システム設定ファイル ( 以外/etc/zshenv
) をスキップしたい場合は、 を実行しますzsh -f
。 システム設定ファイルをスキップしてユーザーごとのファイルを実行する場合は、 を実行しますzsh -d
。
たとえば、oh-my-zsh をデフォルトにせずに試用したい場合は、.zshrc
oh-my-zsh の をホーム ディレクトリに置かないでください。代わりに、 などの別の場所に置いて、 oh-my-zsh を使用するときに~/.oh-my-zsh
実行します。ZDOTDIR=~/.oh-my-zsh zsh
ターミナル アプリケーションは、環境変数で指定されたシェルを実行しますSHELL
。この変数が設定されていない場合は、ユーザー データベース ( ) で指定されたログイン シェルを実行します/etc/passwd
。ターミナル エミュレータを起動するときに、別のアプリケーションを要求することもできます (例: ) xterm -e fish
。