web-dev-qa-db-ja.com

zshの設定ファイルにファイルを含めることは可能ですか?どうやって?

ファイルが欲しいのですが。 fzshエイリアスのみ(純粋性の理由)。次に、fファイルを。zshrcファイルに含めたい、fで定義されたエイリアスが。zshrcで表示されるようにします。

出来ますか?

もしそうなら、私は例えばスクリプトを作成することができます。 my_alias$my_alias ll 'ls -l'fファイルにエイリアスを追加します。もちろんできる

$echo {alias command} >> ~/.zshrc

しかし、これは。zshrcを1つの大きな混乱にします。

さらに、bashではどのように見えますか?

[〜#〜]更新[〜#〜]

誰かが私の考えを共有すると、これが解決策です、phuneheheのおかげで:

# source aliases
ALIASFILE=~/.aliasesrc
source $ALIASFILE
function add_alias() {
    if [[ -z $1 || -z $2 || $# -gt 2 ]]; then
        echo usage:
        echo "\t\$$0 ll 'ls -l'"
    else
        echo "alias $1='$2'" >> $ALIASFILE
        echo "alias ADDED to $ALIASFILE"
    fi
}
26
xliiv

.zshrc.bashrcはスクリプトファイルであり、設定ファイルではないため、エイリアスファイルを「ソース」します。 Zsh(.zshrc)およびBash(.bashrc)の場合:

. my_alias

my_aliasを実行し、その効果をRCファイルと同じ環境に残し、シェルでエイリアスを効果的に提供します。もちろん、エイリアスに限定されません。一般的なエクスポート、関数、エイリアスには、.shrc.bashrcの両方をソースとする.zshrcを使用しています。

ソースの詳細については、 シェルスクリプトを実行するさまざまな方法 を参照してください。

24
phunehehe

これは、私の.zshrcでそれを行う方法です。

if [ -f ~/.zsh/zshalias ]; then
    source ~/.zsh/zshalias
else
    print "404: ~/.zsh/zshalias not found."
fi
36
pat

ファイルが1行で存在する場合、そのファイルを入手するには:

[ -f .aliases ] && source .aliases
17
Matthieu Napoli

インストール後 oh-my-zsh 最後の行 of .zshrc は:

# Set personal aliases, overriding those provided by oh-my-zsh libs,
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
# users are encouraged to define aliases within the ZSH_CUSTOM folder.  
# For a full list of active aliases, run `alias`.
# 
# Example aliases
# alias zshconfig="mate ~/.zshrc"
# alias ohmyzsh="mate ~/.oh-my-zsh"

だからあなたはいくつかの選択肢があります:

  • .zshrcに直接追加
  • フォルダを作成し、.zshrcの末尾のパスに追加します:ZSH_CUSTOM=$HOME/Dropbox/.myzshconfig
  • ~/.oh-my-zsh/customフォルダーとgit clone git://github.com/yourusername/zsh_config.git .を使用します。
  • source/dot演算子:

    # CUSTOMIZATION FOR ZSH
    if [ -r ~/Dropbox/.myzshrc ]; then
        source ~/Dropbox/.myzshrc
    fi
    

    -r FILE存在するかどうかを確認および読み取り権限が付与されている。

    この場合、同じファイルを含むカスタムbashとzshに対して$Shellを確認できます。

参照

2
Pablo A