我可以“导出”一个别名到调用脚本的 SHELL 吗?

我可以“导出”一个别名到调用脚本的 SHELL 吗?

我正在尝试编写一个定义特定别名的实用程序脚本。
我的 SHELL 是tcsh(无法更改)。

我尝试了以下

#!/bin/tcsh  
alias log 'less ~/logs/log.`date '+%Y%m%d'`''

然后我像这样运行它:

./myscript  
log

我得到的输出是:log: Command not found.

当然,如果我像这样运行它:

source myscript  
log

一切安好。

有什么方法可以不指定就做到这一点source ...吗?

答案1

不能。通过运行脚本,您将执行一个新的 shell。父进程将看不到别名。

正如所指出的,唯一的方法是使用source,以便当前 shell 处理你的脚本文件(而不启动新进程)。

相关内容