Как это сделать на оболочке tcsh в linux - PullRequest
2 голосов
/ 03 сентября 2010

Я хочу эффективно сделать следующее на tcsh в Linux.

somecommand a;
somecommand b;
somecommand c;

Если я сделаю somecommand {a,b,c}, это будет somecommand a b c, а это не то, что я хочуЕсть ли способ сделать то, что я хочу?

Ответы [ 4 ]

1 голос
/ 03 сентября 2010

В tcsh вы должны использовать цикл foreach, например:

foreach val (a b c)
  somecommand $val
end

Еще лучше было бы иметь значения в переменной, например:

set values="a b c"

foreach val ($values)
  somecommand $val
end
0 голосов
/ 03 сентября 2010

@ Цикл Бореалида - лучший.Просто для удовольствия, другой способ - использовать xargs:

echo a b c | xargs -n 1 somecommand
0 голосов
/ 03 сентября 2010

Спасибо Боралиду и Джону за ваши ответы.Для этого я создал псевдоним в tcsh.Это работает !!

alias myglob 'echo \!:2-$ | xargs -n 1 \!:1'
0 голосов
/ 03 сентября 2010

В Bash это for i in a b c; do somecommand $i; done. Бьюсь об заклад, это похоже на tcsh.

...