10 hasznos tipp hatékony Bash szkriptek írásához Linux alatt
A shell script a legegyszerűbb programozási forma, amelyet Linux alatt megtanulhat/csinálhat. Sőt, a feladatok automatizálásához szükséges rendszeradminisztrációhoz, új egyszerű segédprogramok/eszközök fejlesztéséhez, hogy csak néhányat említsünk.
Ebben a cikkben 10 hasznos és praktikus tippet osztunk meg a hatékony és megbízható bash szkriptek írásához, amelyek a következőket tartalmazzák:
1. Mindig használjon megjegyzéseket a szkriptekben
Ez egy ajánlott gyakorlat, amely nem csak a shell szkriptekre vonatkozik, hanem minden más típusú programozásra is. A megjegyzések írása egy szkriptbe segít Önnek vagy valakinek, aki átmegy a szkripten, hogy megértse, mit csinálnak a szkript különböző részei.
Kezdetben a megjegyzéseket a #
jellel határozzuk meg.
#TecMint is the best site for all kind of Linux articles
2. Ha nem sikerül kilép a szkriptből
Előfordulhat, hogy a bash akkor is folytatja a parancsfájl végrehajtását, ha egy bizonyos parancs meghiúsul, így hatással van a szkript többi részére is (ez végül logikai hibákhoz vezethet). Használja az alábbi sort a szkriptből való kilépéshez, ha egy parancs meghiúsul:
#let script exit if a command fails
set -o errexit
OR
set -e
3. Készítsen kilépést a szkriptből, ha a Bash nem deklarált változót használ
A Bash megpróbálhat nem deklarált szkriptet is használni, ami logikai hibát okozhat. Ezért használja a következő sort, hogy utasítsa a bash-t, hogy lépjen ki egy szkriptből, amikor nem deklarált változót próbál használni:
#let script exit if an unsed variable is used
set -o nounset
OR
set -u
4. Használjon dupla idézőjeleket a változókra való hivatkozáshoz
A dupla idézőjelek használata hivatkozáskor (változó értékének használata) segít megelőzni a szóhasadást (a szóközök tekintetében) és a szükségtelen gömbölyűket (a helyettesítő karakterek felismerése és kiterjesztése).
Nézze meg az alábbi példát:
#!/bin/bash
#let script exit if a command fails
set -o errexit
#let script exit if an unsed variable is used
set -o nounset
echo "Names without double quotes"
echo
names="Tecmint FOSSMint Linusay"
for name in $names; do
echo "$name"
done
echo
echo "Names with double quotes"
echo
for name in "$names"; do
echo "$name"
done
exit 0
Mentse el a fájlt, lépjen ki, majd futtassa az alábbiak szerint:
./names.sh
5. Használja a Scripts funkcióit
A nagyon kicsi (néhány soros kóddal rendelkező) szkriptek kivételével mindig ne felejtsen el olyan funkciókat használni, amelyek modularizálják a kódot, és a szkripteket olvashatóbbá és újrafelhasználhatóbbá teszik.
Az írási függvények szintaxisa a következő:
function check_root(){
command1;
command2;
}
OR
check_root(){
command1;
command2;
}
Egysoros kód esetén használjon befejező karaktereket minden parancs után, például:
check_root(){ command1; command2; }
6. A karakterlánc-összehasonlításokhoz használja az=értéket az == helyett
Vegye figyelembe, hogy a ==
a =
szinonimája, ezért csak egyetlen =
-t használjon a karakterláncok összehasonlításához, például:
value1=”linux-console.net”
value2=”fossmint.com”
if [ "$value1" = "$value2" ]
7. Használja a $ (parancsot) a régi „parancs” helyett a helyettesítéshez
A parancshelyettesítés a parancsot a kimenetével helyettesíti. Használja a $ (command)
parancsot a `command`
idézőjelek helyett a parancsok helyettesítésére.
Ezt még a shellcheck eszköz is ajánlja (figyelmeztetéseket és javaslatokat jelenít meg a shell szkriptekhez). Például:
user=`echo “$UID”`
user=$(echo “$UID”)
8. A statikus változók deklarálásához használjon írásvédett módot
A statikus változó nem változik; értéke nem változtatható meg, ha már definiált egy szkriptben:
readonly passwd_file=”/etc/passwd”
readonly group_file=”/etc/group”
9. Használjon nagybetűs neveket a KÖRNYEZETI változókhoz és kisbetűket az egyéni változókhoz
Az összes bash környezeti változó neve nagybetűkkel történik, ezért használjon kisbetűket az egyéni változók elnevezéséhez, hogy elkerülje a változónév-ütközést:
#define custom variables using lowercase and use uppercase for env variables
nikto_file=”$HOME/Downloads/nikto-master/program/nikto.pl”
perl “$nikto_file” -h “$1”
10. Mindig végezzen hibakeresést a hosszú szkripteknél
Ha több ezer sornyi kódot tartalmazó bash szkripteket ír, a hibák keresése rémálommá válhat. A szkript végrehajtása előtti egyszerű javításhoz végezzen hibakeresést. Sajátítsa el ezt a tippet az alábbi útmutatók elolvasásával:
- A Shell Script hibakeresési mód engedélyezése Linuxban
- A szintaktikai ellenőrzés végrehajtása a hibakeresési módban a Shell Scriptekben
- Hogyan lehet nyomon követni a parancsok végrehajtását a Shell Scriptben a Shell Tracing segítségével
Ez minden! Van más legjobb bash szkriptelési gyakorlata, amelyet megoszthat? Ha igen, akkor ehhez használja az alábbi megjegyzés űrlapot.