Zsh
是否可以在 zsh 的配置文件中包含文件?如何?
我想要一個文件,例如。f只有 zsh 別名(純粹的原因)。然後我想在我的*.zshrc文件中包含f文件,以便在f中定義的別名在.zshrc*中可見。
可能嗎?
如果是,我可以創建一個腳本,例如。
my_alias
($my_alias ll 'ls -l'
) 將別名附加到f文件。我當然可以$echo {alias command} >> ~/.zshrc
但這使*.zshrc*變得一團糟。
此外,它在 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 }
.zshrc
並且.bashrc
是腳本文件,而不是配置文件,因此您“獲取”別名文件。在 Zsh (.zshrc
) 和 Bash (.bashrc
) 中:. my_alias
將在與 RC 文件相同的環境中執行
my_alias
並保留其效果,從而有效地為您提供 shell 中的別名。當然,您也不限於別名。我使用.shrc
兩者都來源的a.bashrc
以及.zshrc
常見的導出、函式和別名。有關採購的更多資訊,請參閱執行 shell 腳本的不同方法。
這就是我在 .zshrc 中的操作方式:
if [ -f ~/.zsh/zshalias ]; then source ~/.zsh/zshalias else print "404: ~/.zsh/zshalias not found." fi