我试图编写一个脚本来为我的bash shell设置别名,但我不想在.bashrc
自动获取它 – 我需要在我的terminal的子集中有别名。
是否有可能在脚本中使用别名命令,并使别名命令对脚本运行的shell有效?
期望的function:
$ alias # ... no output here $ ./my-script $ alias alias foo='bar' alias alpha='beta' ...
别名对于它们创build的shell是私有的。它们既不能被导出,也不能从父shell中访问。
最简单的解决scheme是将别名分解成单独的文件,如你所build议的那样,然后手工input这个文件,或者在你的.bashrc
添加一个函数,这个函数会在被调用时获取它们。
function extra-aliases { . /path/to/file/containing/additional/aliases }
没有。
但要提供一个“溶剂”,虽然我不知道这是你想要的。
尝试:
# alias ... nothing # . ./myscript.sh # alias alias ls='rm -rf /'
注意.
之前./myscript.sh
。 这是source
。
或者为什么不用别名(在.bashrc中):
alias mkalias="alias ls='ls -laR'; alias ll='ls -l'"
问候,jgr
不。别名是壳和子壳的私有。