Linux-da täsirli baş skriptleri ýazmak üçin 10 peýdaly maslahat


Işleri awtomatlaşdyrmak, täze ýönekeý kömekçi enjamlary/gurallary ösdürmek üçin ulgam dolandyryşy, ýöne käbirleri.

Bu makalada täsirli we ygtybarly baş skriptleri ýazmak üçin 10 sany peýdaly we amaly maslahat paýlaşarys we olar aşakdakylary öz içine alýar:

1. Teswirleri elmydama skriptlerde ulanyň

Bu diňe bir gabyk skriptine däl, eýsem beýleki ähli programmirleme görnüşlerine hem maslahat berilýär. Scriptazgyda teswir ýazmak size ýa-da skriptiňize girýän başga birine skriptiň dürli bölekleriniň näme edýändigine düşünmäge kömek edýär.

Başlaýanlar üçin teswirler # belgisi bilen kesgitlenýär.

#TecMint is the best site for all kind of Linux articles

2. Şowsuz bolanda skriptden çykyň

Käwagt baş belli bir buýruk şowsuz bolanda-da skriptiň ýerine ýetirilmegini dowam etdirip biler, şeýlelik bilen skriptiň galan bölegine täsir edip biler (netijede logiki ýalňyşlyklara sebäp bolup biler). Buýruk şowsuz bolanda skriptden çykmak üçin aşakdaky setiri ulanyň:

#let script exit if a command fails
set -o errexit 
OR
set -e

3. Baş yglan edilmedik üýtgeýjini ulananda skriptden çykyň

Baş, logiki ýalňyşlyga sebäp bolup biläýjek skripti hem ulanyp biler. Şonuň üçin yglan edilmedik üýtgeýjini ulanjak bolanda, skriptden çykmagy görkezmek üçin aşakdaky setiri ulanyň:

#let script exit if an unsed variable is used
set -o nounset
OR
set -u

4. Üýtgeýjilere salgylanmak üçin goşa sitata ulanyň

Salgylananda goşa sitatany ulanmak (üýtgeýjiniň bahasyny ulanmak) sözleriň bölünmeginiň (giňişlik hakda) we gereksiz globusyň (ýabany kartalary tanamak we giňeltmek) öňüni almaga kömek edýär.

Aşakdaky mysaly gözden geçiriň:

#!/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

Faýly ýazdyryň we çykyň, soňra aşakdaky ýaly işlediň:

$ ./names.sh

5. ripazgylarda funksiýalary ulanyň

Örän kiçi skriptlerden başga (birnäçe setir kod bilen), koduňyzy modulirlemek we skriptleri has okalýan we gaýtadan ulanmak üçin funksiýalary ulanmagy ýatdan çykarmaň.

Funksiýalary ýazmagyň sintaksisi aşakdaky ýaly:

function check_root(){
	command1; 
	command2;
}

OR
check_root(){
	command1; 
	command2;
}

Bir setir kody üçin, her buýrukdan soň gutarmak nyşanlaryny ulanyň:

check_root(){ command1; command2; }

6. Setir deňeşdirmeleri üçin == ýerine=ulanyň

Üns beriň, == = manydaş söz, şonuň üçin diňe deňeşdirme üçin ýekeje = ulanyň:

value1=”linux-console.net”
value2=”fossmint.com”
if [ "$value1" = "$value2" ]

7. Çalyşmak üçin miras buýrugynyň ýerine $(buýruk) ulanyň

Buýrugy çalyşmak buýrugy çykyşy bilen çalyşýar. Buýrugy çalyşmak üçin \\ command \\ yzky sözleriň ýerine & # 36 (buýruk) ulanyň.

Bu hatda gabyk barlagy guraly bilen hem maslahat berilýär (gabyk skriptleri üçin duýduryşlary we teklipleri görkezýär). Mysal üçin:

user=`echo “$UID”`
user=$(echo “$UID”)

8. Statiki üýtgeýänleri yglan etmek üçin diňe “Read-Read” ulanyň

Statik üýtgeýji üýtgemeýär; skriptde kesgitlenenden soň onuň bahasyny üýtgedip bolmaz:

readonly passwd_file=”/etc/passwd”
readonly group_file=”/etc/group”

9. Daşky gurşaw üýtgeýjileri üçin baş harp atlaryny we ýörite üýtgeýänler üçin kiçi harplary ulanyň

Baş gurşaw üýtgeýjileriniň hemmesi baş harplar bilen atlandyrylýar, şonuň üçin üýtgeýän at gapma-garşylyklaryndan gaça durmak üçin adaty üýtgeýänleriňizi atlandyrmak üçin kiçi harplary ulanyň:

#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. Uzyn skriptler üçin elmydama düzedişleri ýerine ýetiriň

Müňlerçe setir kod bilen baş skriptleri ýazýan bolsaňyz, ýalňyşlyklary tapmak düýş görüp biler. Scriptazgy ýerine ýetirmezden ozal zatlary düzetmek üçin käbir düzedişleri ýerine ýetiriň. Bu maslahaty aşakda görkezilen gollanmalary okaň.

  1. Linux-da gabyk skriptini düzetmek tertibini nädip işletmeli
  2. Gabyk skriptlerinde sintaksis barlagyny düzetmek tertibini nädip ýerine ýetirmeli
  3. Shell skriptindäki buýruklaryň ýerine ýetirilişini Shell Tracing bilen nädip yzarlamaly

Bu hemmesi! Paýlaşmak üçin başga iň oňat baş skript amallaryňyz barmy? Hawa bolsa, muny etmek üçin aşakdaky düşündiriş formuny ulanyň.