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

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

我想要一个文件,例如。F仅使用 zsh 别名(纯粹原因)。然后我想包括F文件在我的.zshrc文件中定义的别名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
}

答案1

这就是我在 .zshrc 中执行此操作的方法:

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

答案2

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

. my_alias

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

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

答案3

要获取文件(如果该文件存在于一行中):

[ -f .aliases ] && source .aliases

答案4

安装后哦我的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

  • 创建一个文件夹并在其路径末尾添加.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
    # Or [ -r ~/Dropbox/.myzshrc ] && source ~/Dropbox/.myzshrc
    

    -r FILE检查是否存在已授予读取权限。

    在这种情况下,您可以检查$SHELL自定义 bash 和 zsh 是否包含相同的文件。

参考

相关内容