簡體   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