正如标题所述,我希望能够从主目录以外的目录内部使用 bash 别名。如果文件结构看起来像 /home/Documents,我是否必须在 Documents 目录中创建另一个 .bash_aliases 文件夹,但将它们指向保存在主目录中的 bash 文件?
作为参考,.bash_aliases 存在于主目录中
alias mover=". ./mover.sh"
我的主目录中也有一个 mover.sh
答案1
以下一些想法基于这篇文章 如何根据每个目录设置别名?
如果别名包含.aliases
在所有目录中命名的文件中,则一个想法是将别名定义为:
alias "foo=. ./.aliases; alias-command"
另一个想法是将以下函数添加到您的.bashrc
文件中,以便每次您cd
进入包含文件的目录时.aliases
,它都会被获取:
function cd () {
builtin cd "$@" && [[ -f .aliases ]] && . .aliases
}
答案2
别名 mover=". ./mover.sh"
mover.sh
... 将始终在当前工作目录中寻找
(cwd,您最后去的地方cd
,由 打印pwd
)
例如;将其替换为
alias mover=". $HOME/mover.sh"
或者
alias mover=". ~/mover.sh"
没有尝试过,无论 cwd 如何,两者都可能/应该可以工作;我很懒,就保留它们。
这些问题的答案
可以通过研究“Bash 指南”的内容来找到:http://www.tldp.org