Je suis toujours nouveau à UNIX. Est-il possible d'exécuter plusieurs commandes d'UNIX en une fois? Par exemple, écrivez toutes ces commandes que je veux exécuter dans un fichier, puis après avoir appelé ce fichier, il exécutera toutes les commandes à l'intérieur de ce fichier? Ou y a-t-il quelque chose (ou mieux) que je ne sais pas? p>
Merci d'avoir donné tous les commentaires et suggestions, je l'apprécierai. P>
8 Réponses :
La réponse courte est, oui. Le concept est appelé script shell, ou des scripts Bash (une coquille commune). Afin de créer un script Bash simple, créez un fichier texte avec ceci en haut: puis collez vos commandes à l'intérieur de celui-ci, une à une ligne. P> Enregistrez votre fichier, généralement avec l'extension .sh (mais non requise) et vous pouvez l'exécuter comme: p> ou vous pouvez modifier les autorisations pour le rendre exécutable: p> puis exécutez-le comme: p> beaucoup de ressources disponibles sur ce site et le Web pour plus d'informations, si nécessaire. p> p>
Bonjour, puis-je savoir pourquoi "histoire" ne fonctionne pas? J'ai cherché dans le Web et j'ai vu que nous pouvons exécuter la commande "historique" dans le script shell si utilisez ". Script_name", et si pour ma machine, la permission est refusée?
Bien sûr. C'est ce qu'on appelle un "script shell". En Bash, mettez toutes les commandes dans un fichier avec le suffixe "SH". Puis exécutez ceci: puis tapez p> ./myfile
Notez que la fin du fichier avec un suffixe de "sh" code> n'a absolument aucun effet. Le
chmod code> fait une différence uniquement si vous incluez un Shebang A> et vous exécutez le fichier - le
./ myfile code> au lieu de
source myfile code> ou
. myfile code>.
echo 'hello' && echo 'world' Just separate your commands with &&
Belle réponse pour le titre i> de la question, mais a raté les trois références au "fichier" dans le corps i> de la question. :)
Non, c'est l'opérateur et l'opérateur. Vous avez besoin d'un seul & code> pour fonctionner en arrière-plan. En outre, ce n'est pas la réponse à la vraie question.
Keith, il voulait dire l'opérateur et l'opérateur. Cela les exécutera consécutivement et c'est ce que nous voulons ici. Sinon, nous aurions des problèmes de sécurité de fil.
@Sarnold OP a suggéré d'utiliser un fichier pourrait i> être un moyen, mais l'opérateur && code> est également un excellent moyen d'exécuter plusieurs commandes.
@Emilebergeron pas de soucis, je ne suis pas celui qui a bownted cette réponse :)
Yep, il suffit de mettre toutes vos commandes dans un fichier, puis de Ceci exécutera les commandes en séquence. Si vous voulez qu'ils courent tous en parallèle (c'est-à-dire, n'attendez pas que les commandes finissent), ajoutez ensuite un & code> à la fin de chaque ligne dans le fichier p> p>
Si vous souhaitez utiliser plusieurs commandes sur la ligne de commande, vous pouvez utiliser des tuyaux pour effectuer les opérations.
grep "Hello" <file-name> | wc -l
Vous pouvez également utiliser un point-virgule ';' ' et exécutez plusieurs commandes, comme: $ LS; qui p>
Nous pouvons exécuter plusieurs commandes en coquille en utilisant; En tant que séparateur entre plusieurs commandes
par exemple, p> si nous utilisons && comme séparateur, la commande suivante s'exécutera si la dernière commande réussit. P> p>
Pour que les commandes s'exécutent en même temps, vous pouvez utiliser la capacité d'emploi de ZSH P>
ou si vous exécutez ZSH comme coquille actuelle: P>
Le Le $ zsh -c "[Command1] [Command1 arguments] &; [Commande2] [Arguments de commande2]" code> p>
$ ping google.com &; Ping 127.0.0.1 Code> P>
; code> est un jeton qui vous permet de mettre une autre commande sur la même ligne qui fonctionne directement après la première commande. P>
& code> est un jeton placé après une commande pour l'exécuter à l'arrière-plan. P>
Stackoverflow.com/ Questions / 13077241 / ...