A Shell Script hibakeresési mód engedélyezése Linuxban
A szkript egyszerűen egy fájlban tárolt parancsok listája. Ahelyett, hogy egy parancssorozatot futtatna a terminálon egyenként begépelve, a rendszerfelhasználó mindegyiket (parancsot) eltárolhatja egy fájlban, és ismételten meghívja a fájlt a parancsok többszöri végrehajtásához.
A szkriptírás tanulása közben vagy a szkriptek írásának korai szakaszában általában kis vagy rövid szkriptek írásával kezdjük, néhány soros paranccsal. Az ilyen szkripteket pedig rendszerint úgy végezzük, hogy nem teszünk mást, mint megnézzük a kimenetüket, és biztosítjuk, hogy az általunk tervezett módon működjenek.
Amikor azonban elkezdünk nagyon hosszú és fejlett szkripteket írni több ezer parancssorral, például olyan szkripteket, amelyek módosítják a rendszerbeállításokat, kritikus biztonsági mentéseket hajtanak végre hálózaton keresztül és még sok más, rá fogunk jönni, hogy csak egy szkript kimenetét nézni nem elég ahhoz, hogy hibákat találjon a szkripten belül.
Ezért ebben a Linux-sorozatban a shell script hibakeresésben végig fogjuk járni, hogyan engedélyezhetjük a shell script hibakeresést, áttérünk a különböző shell script hibakeresési módok magyarázatára és azok használatára a következő sorozatokban.
Hogyan indítsunk el egy szkriptet
A szkriptet az első sora különbözteti meg a többi fájltól, amely egy #!
-t (She-bang – meghatározza a fájltípust) és egy elérési utat (az értelmező elérési útja) tartalmaz. amely tájékoztatja a rendszert, hogy a fájl olyan parancsok gyűjteménye, amelyeket a megadott program (interpreter) értelmez.
Az alábbiakban példák találhatók a különböző típusú szkriptek „első soraira”:
#!/bin/sh [For sh scripting]
#!/bin/bash [For bash scripting]
#!/usr/bin/perl [For perl programming]
#!/bin/awk -f [For awk scripting]
Megjegyzés: Az első sor vagy a #!
elhagyható, ha a szkript csak szabványos rendszerparancsokat tartalmaz, belső nélkül. shell direktívák.
Shell Script végrehajtása Linux alatt
A shell script meghívásának hagyományos szintaxisa a következő:
script_name argument1 ... argumentN
Egy másik lehetséges forma a parancsfájlt végrehajtó parancsértelmező egyértelműen megadása az alábbiak szerint:
shell script_name argument1 ... argumentN
Például:
/bin/bash script_name argument1 ... argumentN [For bash scripting]
/bin/ksh script_name argument1 ... argumentN [For ksh scripting]
/bin/sh script_name argument1 ... argumentN [For sh scripting]
Azoknál a szkripteknél, amelyeknek nem a #!
az első sora, és csak alapvető rendszerparancsokat tartalmaznak, például az alábbit:
#script containing standard system commands
cd /home/$USER
mkdir tmp
echo "tmp directory created under /home/$USER"
Egyszerűen tegye végrehajthatóvá, és futtassa az alábbiak szerint:
chmod +x script_name
./script_name
A Shell Script hibakeresési mód engedélyezésének módszerei
Alább láthatók az elsődleges shell-szkript hibakeresési beállításai:
-n
(a noexec vagy no ecxecution rövidítése) – utasítja a shellt, hogy olvassa el az összes parancsot, de nem hajtja végre azokat. Ez az opció aktiválja a szintaktikai ellenőrzési módot.-x
(az xtrace vagy a execution trace rövidítése) – azt utasítja a shell-nek, hogy az összes parancsot és argumentumait jelenítse meg a terminálon végrehajtásuk közben. Ez az opció engedélyezi a shell nyomkövetési módot.
1. Shell Script első sorának módosítása
Az első mechanizmus egy shell szkript első sorának megváltoztatása az alábbiak szerint, ez lehetővé teszi a teljes szkript hibakeresését.
#!/bin/sh option(s)
A fenti űrlapon az opció lehet a fenti hibakeresési opciók egyike vagy kombinációja.
2. Shell meghívása hibakeresési opciókkal
A második a shell meghívása hibakeresési opciókkal az alábbiak szerint, ez a módszer a teljes szkript hibakeresését is bekapcsolja.
shell option(s) script_name argument1 ... argumentN
Például:
/bin/bash option(s) script_name argument1 ... argumentN
3. A set Shell Built-in Command használata
A harmadik módszer a set beépített paranccsal a héjszkript adott szakaszának, például függvénynek a hibakeresése. Ez a mechanizmus fontos, mivel lehetővé teszi a hibakeresés aktiválását a shell szkript bármely szegmensénél.
A hibakeresési módot a set paranccsal kapcsolhatjuk be az alábbi űrlapon, ahol a lehetőség a hibakeresési lehetőségek bármelyike.
set option
A hibakeresési mód engedélyezéséhez használja:
set -option
A hibakeresési mód letiltásához használja:
set +option
Ezen túlmenően, ha több hibakeresési módot engedélyeztünk egy shell szkript különböző szegmenseiben, akkor az összeset egyszerre letilthatjuk, így:
set -
Egyelőre ennyi a shell script hibakeresési mód engedélyezésével. Amint láttuk, hibakeresést végezhetünk egy teljes shell-szkripten vagy a szkript egy bizonyos szakaszán.
A sorozat következő két epizódjában bemutatjuk, hogyan használhatjuk a shell script hibakeresési opcióit a részletes, a szintaktikai ellenőrzés és a shell tracing hibakeresés használatához. > módok példákkal.
Fontos, hogy ne felejtsen el kérdéseket feltenni ezzel az útmutatóval kapcsolatban, vagy esetleg visszajelzést adjon nekünk az alábbi megjegyzés részben. Addig is maradjon kapcsolatban a Tecminttel.