これは、pythonとperlの違いはあまりありません。 bashとzshの両方は、Bourneシェル(POSIXで動作が標準化されています)から派生しているため、/bin/sh
で動作するように設計されたスクリプトは、bashまたはzshで動作する可能性があります。
通常、~/.zshrc
は、名前が示すとおり、zshで使用するように設計されており、通常はautoload
およびcompinit
などのzsh固有のコマンドが含まれます。
あなた例えば、これらのコマンドを条件付きにすることができ:
if [ "$ZSH_VERSION" ] ; then autoload -U compinit compinit fi
しかし、あなたはそれらをエミュレートする方法を見つけ出すことができない限り、あなたは、これらのコマンドの機能を使用できないことを意味当然の
bash。 (私は、コマンドのいずれかに精通していないので、私はそこにあなたを助けることはできません。) (あなたはbashシェルでset -u
またはset -o nounset
をやった場合、これは失敗することに注意してください。)
しかし、もしあなたはzshとbashの両方を使用するつもりですが、別のファイル~/.bashrc
と~/.zshrc
を別々にして、それぞれのファイルを設計したシェルでのみ使用する方がはるかに意味があります。重複を避けたい場合は、それぞれが共通のコマンドを含む3番目のファイルをソースすることができます。あなたはzshのプロファイルを必要とする場合
(とコメントをもとに、それはあなたが最初の場所で間違ったことをやっている可能性があります。)
は、なぜあなたはzshのスクリプトをやっていないですか? – Mat
まあ、私の混乱の状態は、ブログの記事から始まり、彼らはzshシェルで実行されているように見えるbashスクリプトを持っていると思います....私はここに提案を試してみます... – Emjay
私はドン 'あなたの.zshrcを 'source'することについては、ブログの記事の中の何かを参照してください。 –