我想在 Linux 中的 tcsh 上有效地执行以下操作。
somecommand a;
somecommand b;
somecommand c;
如果我这样做somecommand {a,b,c}
了,这somecommand a b c
不是我想要的。有没有办法做我想做的事?
在 tcsh 中,您应该使用foreach
循环,如下所示:
foreach val (a b c)
somecommand $val
end
更好的是在变量中包含这些值,如下所示:
set values="a b c"
foreach val ($values)
somecommand $val
end
@Borealid 的循环是最好的。只是为了踢球,另一种方法是使用 xargs:
echo a b c | xargs -n 1 somecommand
在 Bash 中,它是for i in a b c; do somecommand $i; done
. 我敢打赌它在 tcsh 中是相似的。
感谢 Boralid 和 John 的回答。我为此在 tcsh 中创建了一个别名。有用!!
alias myglob 'echo \!:2-$ | xargs -n 1 \!:1'