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


22

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

出来ますか?

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

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

しかし、これにより.zshrcは大きな混乱になります。

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

更新

誰かが私の考えを共有するなら、これは解決策です、プネヘヘのおかげで:

# 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
}

回答:


20

.zshrc構成.bashrcファイルではなくスクリプトファイルなので、エイリアスファイルを「ソース」にします。Zsh(.zshrc)とBash(.bashrc)の場合:

. my_alias

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

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


31

これは、私の.zshrcでどのように行うかです:

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

良い答えをありがとう、あなたとプネヘヘは正しいですが、1つの答えしか承認できないので、彼が最初だったのでプネヘヘに渡すことにしました:)
xliiv

14

ファイルが1行に存在する場合にソースを取得するには:

[ -f .aliases ] && source .aliases

これはpatの答えとどう違うのですか?
-jasonwryan

1
同じことですが、ワンライナーです。私はグーグルから来て、1つのライナーは私が探していたものでした(同時にフォーラムで見つけました)ので、それを共有することも考えました;)私はそれを思い付くことができなかったでしょうバッシュにバカ
マシューナポリ

1

oh-my-zshをインストールした後の最後の行は次の.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
  • フォルダーを作成し、そのパスの末尾に追加します.zshrcZSH_CUSTOM=$HOME/Dropbox/.myzshconfig
  • ~/.oh-my-zsh/customフォルダーを使用しますgit clone git://github.com/yourusername/zsh_config.git .
  • source/ドット演算子:

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

    -r FILE存在するかどうかを確認し読み取り許可を付与します。

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

参照


Dropboxingそれのニースのアイデアをありがとう
アリフル・ハク
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.