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


14

我正在尝试编写定义某些别名的实用程序脚本。
我的外壳是tcsh(无法更改)。

我尝试了以下

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

然后我像这样运行它:

./myscript  
log

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

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

source myscript  
log

一切都很好。

没有指定的任何方法source ...吗?


你把alias你的~/.cshrc文件吗?
qweet 2012年

@qweet-这不是我的目标-我想要一些动态的东西。
罗恩

Answers:


18

你不能 通过运行脚本,您可以执行新的Shell。父进程将看不到别名。

指出的唯一方法是使用,source以便当前Shell处理您的脚本文件(无需启动新进程)。


2
谢谢-这就是我的想法-我将为我的.alias添加一个别名,以便source myscript-我希望所有团队成员都可以共享一些简单的东西-可以做到这一点。
罗恩
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.