繁体   English   中英

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

[英]How to do this on the tcsh shell in linux

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

somecommand a;
somecommand b;
somecommand c;

如果我执行somecommand {a,b,c} ,则执行somecommand abc ,这不是我想要的。 有什么方法可以做我想要的吗?

在tcsh中,应该使用foreach循环,如下所示:

foreach val (a b c)
  somecommand $val
end

更好的是将值包含在变量中,如下所示:

set values="a b c"

foreach val ($values)
  somecommand $val
end

在Bash中,它for i in abc; do somecommand $i; donefor i in abc; do somecommand $i; done for i in abc; do somecommand $i; done for i in abc; do somecommand $i; done 我敢打赌它在tcsh中是相似的。

@Borealid的循环是最好的。 只是为了踢球,另一种方法是使用xargs:

echo a b c | xargs -n 1 somecommand

感谢Boralid和John的回答。 我为此在tcsh中创建了一个别名。 有用!!

alias myglob 'echo \!:2-$ | xargs -n 1 \!:1'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM