我想要一个文件,例如。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
# 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 是否包含相同的文件。