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