10 hyödyllistä vinkkiä tehokkaiden Bash-komentosarjojen kirjoittamiseen Linuxissa


Shell-skriptaus on helpoin ohjelmointimuoto, jonka voit oppia/tehdä Linuxissa. Sitä paitsi se on vaadittu taito järjestelmänhallinnassa tehtävien automatisoimiseen, uusien yksinkertaisten apuohjelmien/työkalujen kehittämiseen vain muutaman mainitakseni.

Tässä artikkelissa jaamme 10 hyödyllistä ja käytännöllistä vinkkiä tehokkaiden ja luotettavien bash-skriptien kirjoittamiseen, ja ne sisältävät:

1. Käytä aina kommentteja komentosarjoissa

Tämä on suositeltava käytäntö, jota ei sovelleta vain komentotulkkikomentosarjaan, vaan kaikkeen muuhun ohjelmointiin. Kommenttien kirjoittaminen skriptiin auttaa sinua tai jotakuta muuta käsikirjoitustasi läpikäyvää ymmärtämään, mitä skriptin eri osat tekevät.

Ensinnäkin kommentit määritellään #-merkillä.

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

2. Sulje komentosarja, kun se epäonnistuu

Joskus bash saattaa jatkaa komentosarjan suorittamista, vaikka tietty komento epäonnistuu, mikä vaikuttaa muuhun komentosarjaan (voi lopulta johtaa loogisiin virheisiin). Käytä alla olevaa riviä poistuaksesi komentosarjasta, kun komento epäonnistuu:

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

3. Poistu komentosarjasta, kun Bash käyttää ilmoittamatonta muuttujaa

Bash voi myös yrittää käyttää ilmoittamatonta komentosarjaa, joka voi aiheuttaa loogisen virheen. Käytä siksi seuraavaa riviä käskemään bashia poistumaan komentosarjasta, kun se yrittää käyttää ilmoittamatonta muuttujaa:

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

4. Käytä kaksoislainausmerkkejä muuttujien viittaamiseen

Lainausmerkkien käyttäminen viittaamisen aikana (käyttäen muuttujan arvoa) auttaa estämään sanojen halkeamisen (koskee välilyöntejä) ja tarpeetonta palloilua (jokerimerkkien tunnistaminen ja laajentaminen).

Katso alla oleva esimerkki:

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

Tallenna tiedosto ja poistu ja suorita se sitten seuraavasti:

./names.sh

5. Käytä komentosarjojen toimintoja

Lukuun ottamatta hyvin pieniä skriptejä (joissa on muutama rivi koodia), muista aina käyttää toimintoja koodin modulointiin ja skriptien luettavuuden ja uudelleenkäytettävyyden parantamiseen.

Kirjoitusfunktioiden syntaksi on seuraava:

function check_root(){
	command1; 
	command2;
}

OR
check_root(){
	command1; 
	command2;
}

Jos käytät yksirivistä koodia, käytä lopetusmerkkejä jokaisen komennon jälkeen seuraavasti:

check_root(){ command1; command2; }

6. Käytä===:n sijaan merkkijonovertailuihin

Huomaa, että == on synonyymi sanalle =, joten käytä vain yhtä = merkkijonojen vertailuun, esimerkiksi:

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

7. Käytä $ (komento) korvaamiseen vanhan "komennon" sijaan

Komennon korvaaminen korvaa komennon sen lähdöllä. Käytä komennon korvaamiseen $ (komento)-merkkien `command` sijaan.

Tätä suosittelee jopa shellcheck-työkalu (näyttää varoitukset ja ehdotukset shell-skripteistä). Esimerkiksi:

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

8. Käytä vain luku -ominaisuutta staattisten muuttujien ilmoittamiseen

Staattinen muuttuja ei muutu; sen arvoa ei voi muuttaa, kun se on määritetty skriptissä:

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

9. Käytä isoja nimiä YMPÄRISTÖmuuttujille ja pieniä nimiä mukautetuille muuttujille

Kaikki bash-ympäristömuuttujat on nimetty isoilla kirjaimilla, joten käytä pieniä kirjaimia nimeämään mukautetut muuttujat välttääksesi muuttujien nimiristiriidat:

#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. Suorita aina pitkien komentosarjojen virheenkorjaus

Jos kirjoitat bash-skriptejä, joissa on tuhansia koodirivejä, virheiden löytämisestä voi tulla painajainen. Korjaa asiat helposti ennen komentosarjan suorittamista suorittamalla virheenkorjaus. Opi tämä vinkki lukemalla alla olevat oppaat:

  1. Kuinka ottaa Shell Script -virheenkorjaustila käyttöön Linuxissa
  2. Kuinka suorittaa syntaksin tarkistus virheenkorjaustilassa Shell-skripteissä
  3. Kuinka jäljittää komentojen suorittamisen Shell-skriptissä Shell Tracingin avulla

Siinä kaikki! Onko sinulla muita parhaita bash-skriptikäytäntöjä jaettavaksi? Jos kyllä, käytä alla olevaa kommenttilomaketta tehdäksesi sen.