如何编写一个为父shell设置别名的bash脚本?

我试图编写一个脚本来为我的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

不。别名是壳和子壳的私有。