Comment utiliser des instructions de boucle dans un script shell Unix, par exemple while, for do while. J'utilise le serveur putty.Comment utiliser des instructions de boucles dans un script shell Unix
Répondre
pour: Itérer sur une liste.
$for i in `cat some_file | grep pattern`;do echo $i;done
alors que la boucle ressemble beaucoup à celle de C. Si vous n'utilisez que la ligne de commande, vous pouvez utiliser perl, mais j'imagine que c'est de la triche.
$perl -e '$i=0;while ($i < 10){print $i;$i++;}'
données Plus
premier est mauvais exemple d'une utilisation inutile de LS. for i in *; echo $ i; done – ghostdog74
second exemple: i = 'expr $ i + 1' <--- pas besoin d'appeler externe expr. $ ((i + 1)) ou $ ((i ++)) – ghostdog74
J'ai changé le ls pour autre chose. C'est juste un exemple pour montrer la structure de la boucle for. – Tom
#!/bin/sh
items=(item1 item2 item3)
len=${#items[*]}
i=0
while [ $i -lt $len ]; do
echo ${items[$i]}
let i++
done
exit 0
Strictement, cela nécessite un bash plutôt qu'une coquille de Bourne; sur de nombreux systèmes modernes, il n'y a pas de shell Bourne et/bin/sh est un lien vers/bin/bash. –
Outre le 'pour' et 'while' boucles mentionnées par Tom, il y a (dans le classique shells Bourne et Korn au moins, mais aussi dans Bash sur Mac OS X et probablement ailleurs aussi) une until boucle:
until [ -f /tmp/sentry.file ]
do
sleep 3
done
Cette boucle se termine lorsque t La commande testée réussit, contrairement à la boucle 'while' qui se termine lorsque la commande testée échoue.
Notez également que vous pouvez tester une séquence de commandes; la dernière commande est celle qui compte:
while x=$(ls); [ -n "$x" ]
do
echo $x
done
Ceci continue à répercuter tous les fichiers dans le répertoire jusqu'à ce qu'ils soient tous supprimés.
à l'OP, pour itérer sur les fichiers
for file in *
do
echo "$file"
done
pour générer des compteurs
for c in {0..10}
do
echo $c
done
à itérer via un fichier dans KSH
en lecture en ligne; faire
echo "ligne du fichier $ ligne"
fait < filename.txt
echo "sample while loop"
i=0;
while [ $i -le 10 ]
do
echo $i
((i++))
done
boucle simple, il imprime jusqu'à 10. son fonctionnement –
using for loop
max=10
for ((i=0; i<=$max; i++));
do
echo $i
done
- 1. Sous-chaîne Unix dans un script shell?
- 2. Comment puis-je utiliser des tableaux dans un shell Unix?
- 3. Expression régulière Script shell Unix
- 4. Tableaux dans un shell Unix?
- 5. Lecture dans le répertoire, script shell Unix
- 6. Comment egrep script shell Unix variable
- 7. Script shell Bash: instructions de sélection imbriquées
- 8. Convertir code ASCII en hexadécimal dans un script shell Unix
- 9. En ce qui concerne script shell Unix
- 10. En ce qui concerne UNIX Shell Script
- 11. Script shell Unix avec commande Iseries
- 12. Comment changer de shell dans unix
- 13. comment déplacer des fichiers d'un chemin vers un autre chemin dans unix en utilisant shell-script
- 14. Comment traiter quelque chose comme ça dans un shell Unix?
- 15. Comment utiliser l'exécution parallèle dans un script shell?
- 16. Comment utiliser la commande ssh dans un script shell?
- 17. Unix - comment générer plusieurs scripts shell dans un répertoire?
- 18. Comment convertir DATE UNIX TIMESTAMP en script shell sur MacOS
- 19. Événements shell Unix?
- 20. Shell Script pour télécharger des fichiers
- 21. Comment utiliser le script de recherche de script shell shell à distance
- 22. Validation des variables dans le script shell
- 23. ## */Utilisation dans UNIX Shell Scripting
- 24. Get Date actuelle à l'époque du script shell Unix
- 25. VBScript - Utilisation des instructions IF dans un script de messagerie?
- 26. Comment savoir si une chaîne contient une autre chaîne dans un script shell Unix?
- 27. À propos de Shell Script
- 28. créer des graphiques avec un script shell
- 29. Variables d'environnement globales dans un script shell
- 30. Sélectionnez des valeurs uniques ou distinctes dans une liste dans le script shell UNIX
Vous devez expliquer plus. Quel genre de boucles? Des boucles qui comptent pour quelque chose? Boucle sur les noms de fichiers? Looping sur une liste de choses? –
La partie serveur du putty est-elle vraiment pertinente? – Tom
tous les livres sur shell scripting disponibles sur le marché et internet ont un chapitre dédié à loops.please mis quelques efforts pour les étudier avant de commencer la programmation sous unix. – Vijay