csh 中的参数别名添加导出命令

csh 中的参数别名添加导出命令

我正在尝试找到一种将函数转换为csh/tcsh别名的方法,因为它们缺少函数但具有参数别名。作为第一步,我尝试创建一个export命令。

这是我到目前为止所得到的

alias export 'setenv `echo \!:1 | cut -d'=' -f1` `echo \!:1 | cut -d'=' -f2`'

但我很困惑为什么它不起作用。我对他们的语法很陌生,所以我可能会犯一个对于有经验的 ( t)用户来说很明显的错误csh。结果如下:

% export key=value
setenv: Syntax Error.

如果我做几乎相同的事情,但使用echo而不是setenv,它会起作用:

alias export 'echo `echo \!:1 | cut -d'=' -f1` `echo \!:1 | cut -d'=' -f2`'
% export key=value
key value

这似乎证实了一切都应该有效,并且应该被翻译成setenv key value.

我究竟做错了什么?

答案1

alias export 'eval setenv `echo \!:1 | cut -d'=' -f1` `echo \!:1 | cut -d'=' -f2`'

相关内容