我正在尝试找到一种将函数转换为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`'