Πώς να εκτελέσετε πολλές εντολές στο Linux

How Run Multiple Commands Linux



Διαφορετικοί τύποι εντολών απαιτούνται για την εκτέλεση από το τερματικό στο Linux. Μερικές φορές χρειάζεται να εκτελέσουμε πολλές εντολές τη στιγμή που οι εντολές μπορούν να εξαρτώνται η μία από την άλλη ή όχι. Η εκτέλεση πολλαπλών εντολών ταυτόχρονα ονομάζεται αλυσίδα εντολών. Πολλοί τύποι τελεστών μπορούν να χρησιμοποιηθούν για αλυσίδα εντολών για διαφορετικούς σκοπούς. Το πώς μπορείτε να εκτελέσετε δύο ή περισσότερες εντολές χρησιμοποιώντας τους πιο συχνά χρησιμοποιούμενους τελεστές φαίνεται σε αυτό το σεμινάριο.

Ο τελεστής pipe (|) χρησιμοποιείται για την εκτέλεση δύο ή περισσότερων σχετικών εντολών ταυτόχρονα. Η είσοδος της επόμενης εντολής θα είναι η έξοδος της προηγούμενης εντολής. Έτσι, η επιτυχία κάθε εντολής εξαρτάται από την επιτυχία της προηγούμενης εντολής χωρίς πρώτη εντολή. Στην ακόλουθη εντολή, η πρώτη εντολή, ls θα μάθει τη λίστα αρχείων και φακέλων της τρέχουσας θέσης και θα στείλει την έξοδο ως είσοδο για τη δεύτερη εντολή, τουαλέτα Το Θα εκτυπώσει τον συνολικό αριθμό γραμμών, λέξεων και χαρακτήρων με βάση τα δεδομένα εισαγωγής.







$ls -ο | τουαλέτα ευτυχώς



Τελεστής ερωτηματικών (;)

Ο τελεστής ερωτήματος (;) συνηθίζει να εκτελεί δύο ή περισσότερες άσχετες εντολές ταυτόχρονα. Αυτό σημαίνει ότι η έξοδος κάθε εντολής δεν εξαρτάται από άλλες εντολές. Στο ακόλουθο παράδειγμα, συνδυάζονται τρεις τύποι εντολών και η αποτυχία κάθε εντολής δεν θα δημιουργήσει αποτέλεσμα στην έξοδο άλλων εντολών. Η πρώτη εντολή θα εκτυπώσει το περιεχόμενο ενός αρχείου, η δεύτερη εντολή θα δημιουργήσει έναν κατάλογο και η τρίτη εντολή θα αλλάξει τον τρέχοντα κατάλογο.



$Γάταmyfile.txt;mkdirnewdir?CDΕπιφάνεια εργασίας





Λογικός τελεστής AND (&&)

Οι εντολές που εκτελούνται από το Logical AND (&&) σχετίζονται μεταξύ τους, όπως η εντολή pipe (|). Έτσι, εάν η προηγούμενη εντολή δεν εκτελεστεί με επιτυχία, τότε οι επόμενες εντολές δεν θα λειτουργήσουν. Στο ακόλουθο παράδειγμα, δύο εντολές, mkdir και rmdir που συνδυάζονται από τελεστές &&. Έτσι, η εντολή mkdir απέτυχε να εκτελεστεί με επιτυχία, τότε η εντολή rmdir δεν θα εκτελεστεί. Σύμφωνα με την έξοδο της εντολής ls, ο κατάλογος myDir υπάρχει ήδη στην τρέχουσα τοποθεσία. Έτσι, η πρώτη εντολή δεν θα εκτελεστεί και για αυτή τη δεύτερη εντολή δεν θα εκτελεστεί επίσης.

$ls
$mkdirmyDir&& rmdirθερμ
$ls



Λογικός τελεστής OR (||)

Ο τελεστής Logical OR (||) είναι το αντίθετο από τον τελεστή Logical AND (&&). Η επόμενη εντολή θα εκτελεστεί εάν η προηγούμενη εντολή αποτύχει να εκτελεστεί. Τρεις εντολές γάτας συνδυάζονται με τελεστή OR (||) στο ακόλουθο παράδειγμα. Όταν θα εκτελέσετε την εντολή, πρώτα απ 'όλα, θα προσπαθήσει να εμφανίσει το περιεχόμενο του αρχείου cat.txt. Εάν δεν υπάρχει τέτοιο αρχείο στην τρέχουσα τοποθεσία, τότε θα προσπαθήσει να εκτελέσει την επόμενη εντολή. Σύμφωνα με την έξοδο, το αρχείο bird.txt υπάρχει στην τρέχουσα τοποθεσία και εμφανίζεται το περιεχόμενο αυτού του αρχείου.

$ cat cat.txt || σκύλος γάτας.txt || cat bird.txt

Πολλαπλές εντολές με πολλούς χειριστές

Μπορείτε να χρησιμοποιήσετε πολλούς χειριστές για να εκτελέσετε πολλές εντολές ταυτόχρονα. Στο ακόλουθο παράδειγμα, συνδυάζονται τρεις εντολές με τελεστές OR (||) και AND (&&). Αφού εκτελέσετε την εντολή, πρώτα απ 'όλα, θα αλλάξει τον τρέχοντα κατάλογο σε newdir εάν υπάρχει. Εάν αυτή η εντολή αποτύχει, τότε θα δημιουργήσει τον κατάλογο εκτελώντας τη δεύτερη εντολή και θα εκτυπώσει το μήνυμα, δημιουργείται ο κατάλογος. Σύμφωνα με την έξοδο, ο κατάλογος newdir δεν υπάρχει στην τρέχουσα τοποθεσία. Έτσι, εμφανίζεται το μήνυμα σφάλματος και ο κατάλογος δημιουργείται αργότερα.

$CDnewdir|| mkdirnewdir&& πέταξε έξω 'δημιουργήθηκε ο κατάλογος'

Τελεστής συνδυασμού {}

Δύο ή περισσότερες εντολές μπορούν να συνδυαστούν χρησιμοποιώντας αυτόν τον τελεστή και εάν η εκτέλεση της πρώτης εντολής αποτύχει, τότε η δεύτερη εντολή δεν θα εκτελεστεί. Στο ακόλουθο παράδειγμα, οι τελεστές OR, AND και συνδυασμού χρησιμοποιούνται μαζί. Οι πρώτες εντολές θα ελέγξουν εάν ο κατάλογος temp υπάρχει στην τρέχουσα τοποθεσία ή όχι. Εάν η πρώτη εντολή αποτύχει, τότε θα δημιουργήσει έναν κατάλογο temp και θα εκτυπώσει ένα μήνυμα. Η τελευταία εντολή θα εμφανίσει την τρέχουσα λίστα καταλόγων.

$[ -ρεθερμ] || { mkdirθερμοκρασία?πέταξε έξωο κατάλογος temp έχει δημιουργηθεί τώρα .;} && ls

Τελεστής προτεραιότητας ()

Μπορείτε να χρησιμοποιήσετε αυτόν τον τελεστή για την ομαδοποίηση των εντολών κατά τη στιγμή της εκτέλεσης. Εδώ, κάθε ομάδα θα λειτουργήσει ως μία εργασία. Στο ακόλουθο παράδειγμα, ορίζονται δύο ομάδες εντολών και εάν η πρώτη ομάδα αποτύχει να εκτελέσει, τότε η δεύτερη ομάδα θα εκτελέσει.

$(CDθερμ&& ls-προς το) || (mkdirθερμ&& ls)

συμπέρασμα

Αυτό το σεμινάριο εξήγησε τους χειριστές που χρησιμοποιούνται περισσότερο για την εκτέλεση πολλαπλών εντολών στο Linux. Υπάρχουν όμως πολλοί άλλοι χειριστές στο bash που χρησιμοποιούνται για την εκτέλεση δύο ή περισσότερων εντολών μαζί. Αυτά είναι τα ampersand (&), redirection (, >>), Logical NOT (!), Combination ({}) κ.λπ.