Comment faire pour exécuter plusieurs Commandes Unix dans une heure?
Je suis encore nouveau pour Unix, est-il possible d'exécuter plusieurs commandes d'Unix en une seule fois? Comme écrire tous ces commandements que je veux exécuter dans un fichier, puis après j'ai appeler ce fichier, il va exécuter toutes les commandes à l'intérieur de ce fichier? ou est-il possible(ou mieux) dont je ne connais pas?
Merci de donner toutes les observations et suggestions, je vous en seront reconnaissants.
OriginalL'auteur keifer | 2011-07-13
Vous devez vous connecter pour publier un commentaire.
Réponse courte est oui. Le concept est connu comme la création de scripts shell, bash scripts (shell). Afin de créer un simple script bash, créez un fichier texte avec ce à le haut:
Puis coller vos commandes à l'intérieur de celui-ci, à une ligne.
Enregistrer votre fichier, généralement avec l' .extension sh (mais pas obligatoire) et vous pouvez l'exécuter comme:
Ou vous pouvez modifier les autorisations pour le rendre exécutable:
Ensuite l'exécuter comme:
Beaucoup de ressources disponibles sur ce site et sur le web pour plus d'informations, si nécessaire.
OriginalL'auteur baraboom
Juste séparer vos commandes avec
&&
Non, c'est l'opérateur ET. Vous avez besoin d'un seul
&
à s'exécuter en arrière-plan. Aussi, ce n'est pas la réponse à la vraie question.Keith, il voulait de l'opérateur ET. Il exécutera de façon consécutive et c'est ce que nous voulons ici. Sinon on aurait thread questions de sécurité.
L'OP a suggéré d'utiliser un fichier être un moyen, mais le
&&
opérateur est également une excellente façon d'exécuter plusieurs commandes.pas de soucis, je ne suis pas celui qui downvoted cette réponse 🙂
OriginalL'auteur adlawson
Nous pouvons exécuter plusieurs commandes dans le shell en utilisant ; comme séparateur entre plusieurs commandes
Par exemple,
Si nous utilisons des && comme séparateur alors la prochaine commande sera exécutée si la dernière commande est réussie.
OriginalL'auteur minhas23
vous pouvez également utiliser un point-virgule ';' et d'exécuter de nombreuses commandes, comme :
$ls ; qui
OriginalL'auteur Kernal
Yep, il suffit de mettre tous vos commandes dans un fichier, puis
Cela va exécuter les commandes dans l'ordre. Si vous souhaitez qu'ils s'exécuter en parallèle (c'est à dire ne pas attendre pour les commandes à la fin), puis ajouter un
&
à la fin de chaque ligne dans le fichierOriginalL'auteur Sodved
Si vous souhaitez utiliser plusieurs commandes en ligne de commande, vous pouvez utiliser des tuyaux pour effectuer les opérations.
Il donnera un nombre de fois "Bonjour" existe dans le fichier.
OriginalL'auteur crazy_prog
Sûr. On appelle ça un "script shell". En bash, mettez toutes les commandes dans un fichier avec le suffixe "sh". Ensuite, exécutez ceci:
puis tapez
ou
ou tout simplement
"sh"
a absolument aucun effet. Lechmod
seulement fait une différence si vous incluez un inclus, et que vous exécutez le fichier -- le./myfile
au lieu desource myfile
ou. myfile
.Oui, j'aurais été plus clair à ce sujet.
OriginalL'auteur Jack BeNimble
D'avoir les commandes fonctionnent en réalité dans le même temps, vous pouvez utiliser la capacité de travailler de zsh
$ zsh -c "[command1] [command1 arguments] & ; [command2] [command2 arguments]"
Ou si vous exécutez zsh que votre shell:
$ ping google.com & ; ping 127.0.0.1
La
;
est un jeton qui vous permet de mettre une autre commande sur la même ligne que celle qui est exécutée directement après la première commande.La
&
est un jeton placé après une commande à exécuter à l'arrière-plan.OriginalL'auteur SultanLegend