Wow, je n'ai pas écrit une csh script dans années. Mais Bill Joy a écrit lui-même, je suppose qu'il vaut la peine un peu de nostalgie à l'effort...
set t=(*)foreach i ($t)
echo $i >>/tmp/z
end
ou tout simplement foreach i (*)
Cette structure de boucle fonctionne bien avec un concept intégré qui csh a un liste de mots. C'est une sorte de présent en bash mais pas de vanille dans posix coquilles.
set q=(how now brown cow)
echo $q[2]
La foreach boucle proprement parcourt cette structure de données.
mise à Jour: Ok, ok, bon, je ne sais pas comment faire one-liner boucles dans les csh. Le csh grammaire poignées ; et newline différemment. Ce n'est pas one-liner sympathique.
Le foreach, switch, et même si des déclarations, ainsi que la si-alors-sinon la forme de l'instruction if exiger que les principaux mots-clés apparaissent dans une seule commande simple sur une ligne d'entrée comme indiqué ci-dessous.
et
Les deux foreach et de fin doit apparaître seul sur des lignes séparées.
et
Les mots else et endif doit apparaître au début des lignes d'entrée; le si doit apparaître seul sur sa ligne de saisie ou après un autre.
et
Le tout et à la fin doit apparaître seul sur leurs lignes d'entrée.
$> for_n_cmd 3 echo hi
=================Iteration[1]=================
hi
=================Iteration[2]=================
hi
=================Iteration[3]=================
hi
La boucle while:
$> while_cmd_w_sleep 2s echo hello there
hello there
=================Sleepingfor2s.=================
hello there
=================Sleepingfor2s.=================
hello there
=================Sleepingfor2s.^C
* Exemple où plusieurs commandes sont exécutées dans une boucle:
$> for_n_cmd 3'echo hi\\nsleep 2s\\necho done waiting'=================Iteration[1]=================
hi
done waiting
=================Iteration[2]=================
hi
done waiting
=================Iteration[3]=================
hi
done waiting
Dans cet exemple, trois commandes echo hi, sleep 2s et echo done waiting sont en cours d'exécution dans la boucle.
Wow, je n'ai pas écrit une
csh
script dans années. Mais Bill Joy a écrit lui-même, je suppose qu'il vaut la peine un peu de nostalgie à l'effort...ou tout simplement
foreach i (*)
Cette structure de boucle fonctionne bien avec un concept intégré qui csh a un liste de mots. C'est une sorte de présent en bash mais pas de vanille dans posix coquilles.
La
foreach
boucle proprement parcourt cette structure de données.;
et newline différemment. Ce n'est pas one-liner sympathique.OriginalL'auteur DigitalRoss
La
csh
homme états de la page:et
et
et
OriginalL'auteur Dennis Williamson
Je dirais que j'ai fixé en quelque sorte, en dépit de csh options, de sorte que vous pouvez faire quelque chose comme ceci:
OriginalL'auteur Petre Sosa
J'ai eu du mal à obtenir shell CSH facilement d'une boucle et d'exécuter la même commande.
Comme l'a souligné à cette réponse: https://stackoverflow.com/a/1548355/1897481
M'a fait abandonner train de se faire un oneliner travail.
Finalement réglé pour avoir la suite des alias pour exécuter des commandes avec des arguments* dans une boucle:
Les exemples de résultats:
La boucle while:
* Exemple où plusieurs commandes sont exécutées dans une boucle:
Dans cet exemple, trois commandes
echo hi
,sleep 2s
etecho done waiting
sont en cours d'exécution dans la boucle.OriginalL'auteur wiredcontrol