私はzshとoh-my-zshを含む新しい開発環境を試しています。 oh-my-zshがインストールされているので、デフォルトでは私の端末(iTerm2とTerminal)で始まり、常にzshで始まり、設定はoh-my-zshで始まります。 oh-my-zshを削除せずに、oh-my-zshを使用して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
、ZDOTDIR=~/.oh-my-zsh zsh
oh-my-zshを使いたいときに実行してください。
ターミナルアプリケーションは、環境変数で指定されたシェルを実行しますSHELL
。この変数が設定されていない場合は、/etc/passwd
ユーザーデータベース()で指定されたログインシェルを実行します。ターミナルエミュレータの起動時にさまざまなアプリケーションを要求できますxterm -e fish
。