104

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

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

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

4

3 に答える 3

131

lhunathの答えは私を正しい方向に押し進めましたが、zshは.profile自動的にソースを作成していないようです。このトピックに関する多くの有益な情報は、このスーパーユーザーの投稿にあります。

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

~/.bashrc

source ~/.profile

~/.zshrc

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

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

于 2014-09-24T15:21:16.420 に答える
39

に「エクスポート」する.bashrcことはできません.zshrc。 コマンド .bashrcを実行するファイルです。コマンドを実行するファイルです。bash.zshrczsh

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

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

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

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

余談ですが、ojblass部分的にしか成功しない移植性を強調しようとします。 zshは素晴らしいシェルです (私自身は受賞したことはありませんが)。代わりに を使用することをお勧めします#!/usr/bin/env bash。ほとんどの場合、あなた自身 (そして最終的にはあなたが共有する人々) の移植性のためだけです。

于 2009-04-19T06:46:15.617 に答える
3

私にとって、Ryenの答えは役に立ちました。しかし、私は少し変更を加えました。ユーザーディレクトリ( vim ~/.profile )の .profile にすべてのエイリアスコマンドを追加しました。

alias gs='git status'
alias gp='git pull'
alias gph='git push'
alias gd='git diff | mate'
alias gau='git add --update'
alias gc='git commit -m'
alias gca='git commit -v -a'
alias gb='git branch'
alias gba='git branch -a'
alias gco='git checkout'
alias gcob='git checkout -b'
alias gcot='git checkout -t'
alias gcotb='git checkout --track -b'
alias glog='git log'
alias glogp='git log --pretty=format:"%h %s" --graph'
alias gfo='git fetch origin'

次に、zsh シェルだけでなく bash にも source コマンドを追加しました。

bash シェル (vim ~/.bashrc) の場合

source ~/.profile

zsh シェル ( vim ~/.zshrc )

source ~/.profile
于 2021-02-05T16:28:15.963 に答える