bashは廃止されzshを好むので、Catalinaからzshに関連していないすべてのシェルファイルを削除できますか?

bashは廃止されzshを好むので、Catalinaからzshに関連していないすべてのシェルファイルを削除できますか?

macOSは引き続きzshを使用し、Catalinaでzshをデフォルトのシェルに設定できます。 Catalinaの場合、zshはデフォルトのシェルなので、bashとoh-my-zshの両方のトレースを削除しても大丈夫ですか?また、私はHyperTerminalを使用しています。これは、もはやoh-my-zshを必要としないことを意味します。

例:
Anacondaインストーラはもともとこのスクリプトを私のbashrcまたはbash_profileに追加したので、zshに切り替えたときにそれを.zshrcにコピーしました。私は最近bash_profile用に設計されているので、コピーする必要がないかコピーしてはいけないという内容を読んでいましたが、macOSはとにかくzshを使用しているので、どうすればよいのか疑問に思います。明らかに、Anacondaがどこにあるのかzshに知らせる必要がありますが、そのスクリプトが必要ですか、それともAnacondaパスをエクスポートできますかexport PATH=/Users/ty604/anaconda3/bin:$PATH

このAnacondaスクリプトをzshrcに保存し、bashのすべての痕跡を削除して、bashが消えてもMacがもう使用されないようにすることはできますか?

export PATH=/Users/ty604/anaconda3/bin:$PATH

# added by Anaconda3 2019.03 installer
# >>> conda init >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$(CONDA_REPORT_ERRORS=false '/Users/ty604/anaconda3/bin/conda' shell.bash hook 2> /dev/null)"
if [ $? -eq 0 ]; then
    \eval "$__conda_setup"
else
    if [ -f "/Users/ty604/anaconda3/etc/profile.d/conda.sh" ]; then
        . "/Users/ty604/anaconda3/etc/profile.d/conda.sh"
        CONDA_CHANGEPS1=false conda activate base
    else
        \export PATH="/Users/ty604/anaconda3/bin:$PATH"
    fi
fi
unset __conda_setup
# <<< conda init <<<

また、さまざまなシェルファイルの重複エクスポートコマンドのため、$ PATHへの冗長パスがたくさんあります。
$エコ$PATH
/Users/ty604/anaconda3/bin:/Users/ty604/anaconda3/condabin:/Users/ty604/anaconda3/bin:/Users/ty604/.cargo/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/VMware Fusion.app/Contents/Public:/usr/local/share/dotnet:/Users/ty604/flutter/bin

マイシステムのファイル
.bash_history, .bash_profile, .bashrc, .profile, .zprofile, .zsh_history, .zshrc, .zshrc.pre-oh-my-zsh

マイシステムのフォルダ
.bash_sessions, .oh-my-zsh, .zsh

ベストアンサー1

bash表示されるシェル初期化コードは具体的には見えず、zshそのコードのソースであるさまざまなスクリプトも動作すると仮定するとうまくshell.bash動作conda.shしなければなりません。スクリプトがあれば、shell.zsh明らかに代わりに使用することを選択できますshell.bash


zshシェルでは、PATH変数は配列に関連付けられていますpath。両方とも一意の項目のみを含めることができますtypeset -U

以下は、特定の値に for を使用する例ですPATH

$ print -rC1 -- $path
/Users/ty604/anaconda3/bin
/Users/ty604/anaconda3/condabin
/Users/ty604/anaconda3/bin
/Users/ty604/.cargo/bin
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
/Applications/VMware Fusion.app/Contents/Public
/usr/local/share/dotnet
/Users/ty604/flutter/bin

パスは/Users/ty604/anaconda3/bin最初から繰り返されます。ルートを一意にするには(現在と未来):

$ typeset -U PATH path
$ print -rC1 $path
/Users/ty604/anaconda3/bin
/Users/ty604/anaconda3/condabin
/Users/ty604/.cargo/bin
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
/Applications/VMware Fusion.app/Contents/Public
/usr/local/share/dotnet
/Users/ty604/flutter/bin

/binパスの先頭にプッシュするとどうなるか確認してください。

$ path=( /bin $path )
$ print -rC1 -- $path
/bin
/Users/ty604/anaconda3/bin
/Users/ty604/anaconda3/condabin
/Users/ty604/.cargo/bin
/usr/local/bin
/usr/bin
/usr/sbin
/sbin
/Applications/VMware Fusion.app/Contents/Public
/usr/local/share/dotnet
/Users/ty604/flutter/bin

(2番目は/bin削除されました。)

path配列は変数に関連付けられているため、変更もPATHその変数に表示できます。

$ print -rC1 -- $PATH
/bin:/Users/ty604/anaconda3/bin:/Users/ty604/anaconda3/condabin:/Users/ty604/.cargo/bin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/Applications/VMware Fusion.app/Contents/Public:/usr/local/share/dotnet:/Users/ty604/flutter/bin

おすすめ記事