.bashrcを.zshrcにエクスポートするにはどうすればよいですか?


87

Bashからzshに移行しようとしています。

.bashrcを.zshrcに直接配置しましたが、Bashを再度使用しようとすると多くのエラーが発生しました。

.bashrcを.zshrcにエクスポートするにはどうすればよいですか?


19
このzsh嫌いがあなたを失望させないでください。Zshは素晴らしいです!
Jeremy Cantrell

回答:


110

lhunathの答えは私を正しい方向に押しやったが、zshは.profile自動的に調達していないようだ。このトピックに関する多くの良い情報は、このスーパーユーザーの投稿にあります。

私が使用している適応は、一般的なエイリアスと関数を入れ.profileて、次のように手動でそれらを調達することです。

~/.bashrc

source ~/.profile

~/.zshrc

[[ -e ~/.profile ]] && emulate sh -c 'source ~/.profile'

emulatezsh組み込みコマンドです。単一の引数を使用して、指定されたシェルを可能な限りエミュレートするようにzshオプションを設定します。


2
はい、これが最善のアプローチだと思います。ご回答ありがとうございます!
レオ・レオポルド・ヘルツ준 영

上記の答えは私にとってもうまく機能しています。しかし、zshrcターミナルを開くたびにこれを行う必要があります。これを修正する方法を教えてください。
thedudecodes 2018

33

あなたは「できない輸出あなた」.bashrc.zshrc。 コマンド.bashrcを実行するファイルですbash。 コマンド.zshrcを実行するファイルですzsh

でコマンドzshを実行できるとは期待できないため、前者から実行したり、後者にコピーしたりするのではなく、新しいbashコマンドに.bashrc変換する必要があります。.zshrc.bashrc.zshrc

すべてのシェルに共通のシェル初期化ファイルが必要な場合。使用.profile(および削除.bashrcおよび.zshrc)。これは、すべてのPOSIXシェルによって供給されます。そしてそこでは、POSIXシェル機能のみに固執します。その後、そのコードは任意のPOSIXシェルで実行されます。(ただし、zshPOSIXに準拠していることを100%確信しているわけではありません)。

見る: http://mywiki.wooledge.org/DotFiles

ただし、質問のこの部分を最初に読み間違えたのですが、コマンドを入力しない限りbash、実行時にエラーが発生することはありません。しましたか?どのようなエラーが発生していますか?あなたが追加したように私には音あなたにコードと(明らかに)理解していません。.bashrczshzsh.bashrcbash

余談ですが、ojblass部分的にしか成功しない移植性のポイントを作ろうとします。 zsh素晴らしいシェルです(私自身は名誉を持っていませんが)が、スクリプトを書くときは; #!/usr/bin/env bash代わりにそうすることをお勧めします。移植性のために、主にあなた自身(そして最終的にはあなたが彼らと共有する人々)のためだけに。


「.bashrcを.zshrcに直接配置しましたが、Bashを再度使用しようとすると多くのエラーが発生しました」という文を見てください。何が原因であるかを少し考えてから、投稿を言い換えてください。
ojblass 2009
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.