J'ai un tas de répertoires à traiter, donc je commence une boucle comme ceci:
foreach n (1 2 3 4 5 6 7 8)
J'ai un tas de commandes où je copie sur quelques fichiers de différents endroits
cp file1 dir$n
cp file2 dir$n
mais j'ai commandes couple où le $ n est au milieu de la commande comme ceci:
cp -r dir$nstep1 dir$n
Lorsque j'exécute cette commande, le shell se plaint de ne pas trouver la variable $ nstep1. Ce que je veux faire est d'évaluer le $ n d'abord, puis concaténer le texte autour d'elle. J'ai essayé d'utiliser `` et(), mais aucun de ces travaux. Comment faire cela dans csh?
'dir $ {n} step1' - entoure le nom d'accolades. –
À côté: Les scripts dans csh ne sont généralement pas considérés comme une bonne idée. Voir [Les 10 principales raisons de ne pas utiliser le shell C] (http://www.grymoire.com/Unix/CshTop10.txt), ou [la page plus récemment mise à jour de l'auteur sur le même sujet] (http: // www .grymoire.com/unix/Csh.html); ou le classique-mais-daté [Programmation CSH considéré comme dangereux] (http://www.faqs.org/faqs/unix-faq/shell/csh-whynot/). –
I c. J'ai remarqué qu'une partie de la syntaxe dans csh est un peu bizarre, et certaines choses ont pris du temps à déboguer. J'étais juste paresseux de changer mon shell par défaut quand je me connecte à ce système, mais il semble que changer mon shell pour bash vaudra la peine à long terme. –