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:
- Kuinka ottaa Shell Script -virheenkorjaustila käyttöön Linuxissa
- Kuinka suorittaa syntaksin tarkistus virheenkorjaustilassa Shell-skripteissä
- 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.