/ / Как да направите това на обвивката на tcsh в Linux - linux, shell, tcsh

Как да направите това на tcsh черупката в linux - linux, shell, tcsh

Искам ефективно да направя следното върху tcsh в Linux.

somecommand a;
somecommand b;
somecommand c;

Ако го направя somecommand {a,b,c}, това прави somecommand a b c, което не е това, което искам. Има ли начин да направя това, което искам?

Отговори:

1 за отговор № 1

В tcsh, трябва да използвате a foreach цикъл, като този:

foreach val (a b c)
somecommand $val
end

Още по-добре би било стойностите да са в променлива, като тази:

set values="a b c"

foreach val ($values)
somecommand $val
end

0 за отговор № 2

В Bash, това е for i in a b c; do somecommand $i; done, Обзалагам се, че е подобно в tcsh.


0 за отговор № 3

@Borealid 's цикъл е най-добре. Само за ритници, друг начин е да използвате xargs:

echo a b c | xargs -n 1 somecommand

0 за отговор № 4

Благодаря на Боралид и Джон за отговорите. Създадох псевдоним в tcsh за това. Работи!!

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