Искам ефективно да направя следното върху 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"