如何在linux中的tcsh shell上执行此操作

时间:2010-09-03 03:17:35

标签: linux shell tcsh

我想在Linux中的tcsh上有效地执行以下操作。

somecommand a;
somecommand b;
somecommand c;

如果我执行somecommand {a,b,c},则执行somecommand a b c,这不是我想要的。有办法做我想做的事吗?

4 个答案:

答案 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'