是否可以在zsh的配置文件中包含文件?如何?

xli*_*iiv 39 zsh configuration alias

我想要一个文件,例如。f只有 zsh 别名(纯粹的原因)。然后我想在我的.zshrc文件中包含f文件,以便在f中定义的别名在.zshrc中可见。

是否可以?

如果是,我可以创建一个脚本,例如。my_alias( $my_alias ll 'ls -l') 将别名附加到f文件。我当然可以

$echo {alias command} >> ~/.zshrc
Run Code Online (Sandbox Code Playgroud)

但这使.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
}
Run Code Online (Sandbox Code Playgroud)

小智 49

这是,我如何在我的 .zshrc 中做到这一点:

if [ -f ~/.zsh/zshalias ]; then
    source ~/.zsh/zshalias
else
    print "404: ~/.zsh/zshalias not found."
fi
Run Code Online (Sandbox Code Playgroud)


phu*_*ehe 32

.zshrc并且.bashrc是脚本文件,而不是配置文件,因此您可以“获取”别名文件。在 Zsh ( .zshrc) 和 Bash ( .bashrc) 中:

. my_alias
Run Code Online (Sandbox Code Playgroud)

my_alias在与 RC 文件相同的环境中运行并保留其效果,从而有效地为您提供 shell 中的别名。当然,您也不限于别名。我使用.shrc由两者提供的.bashrc.zshrc用于通用导出、函数和别名。

有关采购的更多信息,请参阅执行 shell 脚本的不同方法


Mat*_*oli 18

如果文件存在于一行中,则获取文件的源:

[ -f .aliases ] && source .aliases
Run Code Online (Sandbox Code Playgroud)

  • 同样的事情,但一行字。我来自谷歌,这个班轮就是我正在寻找的(同时在论坛上找到它)所以我想我不妨分享一下;)我无法像我一样想出它我在 bash 中很愚蠢 (3认同)