Ich habe die folgenden Befehle.
cd import
zcat urls1.sql.gz | mysql -u root -p urls
cd /var/www/project1/
nano 1.php
Ab sofort führe ich es eins nach dem anderen aus.
Gibt es eine Möglichkeit, diese Befehle in einer Zeile zu kombinieren?
command-line
Giri
quelle
quelle
;
&&
Welches ist besser: Verwenden oder Ausführen mehrerer Befehle in einer Zeile" viel besser, hat mehr Nachforschungen und hätte wahrscheinlich sehr viele positive Stimmen hervorgerufen.Antworten:
Ja, trennen Sie mit einem Semikolon wie folgt:
Die meisten Lanugauges / Muscheln verwenden das Semikolon, um das Ende eines Befehls zu kennzeichnen und neu zu beginnen, während von links nach rechts ausgewertet wird.
Oder verwenden Sie, wie von @RobieBasak empfohlen, && anstelle von; zum Schutz vor Codierungsunfällen.
quelle
&&
anstatt zu verwenden;
. Dies stellt sicher, dass nachfolgende Befehle nur ausgeführt werden, wenn vorherige Befehle nicht fehlgeschlagen sind. Dies vermeidet einige unangenehme Konsequenzen. Zum Beispiel:cd /somewhere_else; rm -Rf *
könnte etwas Katastrophales tun, wenn es/somewhere_else
es nicht gibt oder du es falsch buchstabierst;cd /somewhere_else && rm -Rf *
schützt dich davor.Dies zeigt mehr:
EIN ; B - Führen Sie A und dann B aus, unabhängig von Erfolg oder Misserfolg von A
A && B - Führen Sie B nur aus, wenn A erfolgreich war
A || B - Führen Sie B nur aus, wenn A fehlgeschlagen ist
Quelle: https://www.howtogeek.com/269509/wie-zwei-oder-mehr-terminalbefehle-auf- einmal-in-linux/
quelle