megjegyzések
- terdon ' alábbi válasz kiváló, de a pontosvesszőket eldobhatja a ' verzióban, amelyet fentebb bemutatott, valamint a parancsokat a szkriptben sorrendben hajtják végre, mindegyiket a saját sorában. A pontosvessző felesleges, kivéve, ha az összes parancsot egy sorba rakja.
Válasz
Igen, újra helyesen csinálja. A Shell szkriptek az egyes parancsokat egymás után futtatják, és várják az első befejezését, mielőtt a következő elindul. Csatlakozhat a parancsokhoz a ;
paranccsal, vagy külön sorokban is megadhatja őket. :
command1; command2
vagy
command1 command2
Nincs szükség ;
ha a parancsok külön sorokban vannak. A második parancs futtatását is kiválaszthatja, ha az első sikeresen kilépett. Ehhez csatlakozzon hozzájuk a &&
:
command1 && command2
vagy
command1 && command2
További információ a különböző kezelő operátorokról te, lásd itt .
Megjegyzések
- Emlékezz arra, hogy a
&&
, az OP egyszerűen hozzáadhatset -e
a szkript elején. Természetesen ez nem egy folyamatlánc-operátor. - @didierc, amely miatt a szkript kilép minden hiba esetén, és rengeteg felesleges előrehaladási jelentést is készít. Nem ugyanaz, mint két specifikus parancs összekapcsolása a
&&
-vel. - @polemon nem igazán, nem. Ez egy nagyon egyszerű kérdés egy kezdő felhasználó részéről. Nem ' nem látom értelmét a túl sok részlet hozzáadásának. Ne feledje, hogy ' nem is említettem
||
-t. Nem értem, hogy ' valójában miért van itt jelentősége azwait
nak, minden bizonnyal nincs rá szükség ahhoz, hogy egyszerûen futtassuk az egyik parancsot a másik után. Csak a folyamatok finomabb szemcsézésére lenne szükség. Nyugodtan küldjön természetesen választ, de én ' inkább az egyszerűségemet tartom. - @terdon wouldn ' t, amelyek
set -v
vagyset -x
helyettset -e
? - @didierc lásd a fenti megjegyzésemet, a
set -x
-re gondoltam, sajnálom.
Válasz
Ilyen ismétlődő esetben a for loop használatát javasoltam.
for P in {1..3} ; do wget -q http://exemple.com/page${P}.php ; done
Ez egy egysoros verzió, amely a parancssorhoz alkalmas, de szkriptben is használható. A változó neve körüli zárójelekre akkor van szükség, ha egy változó be van ágyazva egy karakterláncba szóköz nélkül.
A hurok nemcsak sorrendben küldi el a kéréseket, de szükség esetén könnyebben módosíthatja és újra felhasználhatja, anélkül, hogy sok aggály lenne elírási hibák.