xargs sourcing tcsh中的别名

时间:2012-09-28 00:57:48

标签: alias xargs tcsh subshell

我正在尝试运行使用别名的xargs命令。搜索想出了这个

alias gojk 'stsq \!:1 | xargs -t -0 -I {} tcsh -c  source ~/.tcshrc.user;myset {}'

但它返回

 Bad ! arg selector

并且变体将返回

source: too few arguments.

2 个答案:

答案 0 :(得分:1)

使用-m标记tcsh让其在启动时读取~/.tcshrc,如

... | xargs -t0 -I {} tcsh -m -c "<alias> {}"

答案 1 :(得分:1)

tcsh仍在评估!引号内的字符。你需要在它前面加一个反斜杠。

我建议你让tcsh部分成为一个脚本,在那里你传递一个参数,然后让它工作。然后使用xargs调用脚本。