Android

Bash-lähdekomento

Source Shell Script vs Executing Shell Script - The Real Difference

Source Shell Script vs Executing Shell Script - The Real Difference

Sisällysluettelo:

Anonim

Lähdekomento lukee ja suorittaa komennot tiedostosta, joka määritetään sen argumentiksi nykyisessä kuoriympäristössä. On hyödyllistä ladata toiminnot, muuttujat ja kokoonpanotiedostot komentosarjoihin.

source on Bashissa oleva shell-rakennus ja muut suositut kuoret, joita käytetään Linuxissa ja UNIX-käyttöjärjestelmissä. Sen käyttäytyminen voi olla hiukan erilainen kuoresta toiseen.

Lähdekomentojen syntaksi

Lähdekomennon syntaksi on seuraava:

source FILENAME. FILENAME

  • source ja . (jakso) ovat samat komennot.Jos FILENAME ei ole täydellinen polku tiedostoon, komento etsii tiedostoa hakemistosta, joka on määritetty ympäristömuuttujaan $PATH . Jos tiedostoa ei löydy $PATH -komennosta, komento etsii tiedostoa nykyisestä hakemistosta.Jos ARGUMENTS annetaan, niistä tulee FILENAME paikannusparametreja. Jos FILENAME on olemassa, lähdekomennon exit-koodi on 0 , muuten Jos tiedostoa ei löydy, se palauttaa 1 .

Lähdekomentojen esimerkit

Tässä osassa tarkastellaan joitain perus esimerkkejä lähdekomennon käytöstä.

Hankintatoiminnot

Tässä esimerkissä luomme tiedoston, joka sisältää bash-toiminnon, joka tarkistaa, onko komentosarjaa käyttävä käyttäjä root, ja jos ei, se näyttää viestin ja poistuu komentosarjasta.

functions.sh

check_root () { if]; then echo "This script must be run as root" exit 1 fi }

Nyt jokaisesta komentosarjasta, jotka vain pääkäyttäjän on suoritettava, lähde functions.sh tiedosto ja kutsu toiminto:

#!/usr/bin/env bash source functions.sh check_root echo "I am root"

Tämän lähestymistavan etuna on, että skriptit ovat pienempiä ja luettavampia, voit käyttää samaa toimintotiedostoa tarvittaessa uudelleen, ja jos sinun on muokattava toimintoa, muokkaat vain yhtä tiedostoa.

Bash-määritystiedosto

Lähdekomennolla voit myös lukea muuttujia tiedostosta. Muuttujat on asetettava käyttämällä Bash-syntaksia, VARIABLE=VALUE .

Luodaan testimääritystiedosto:

config.sh

VAR1="foo" VAR2="bar"

Käytä bash-skriptissäsi lähdekomentoa lukemaan asetustiedosto:

#!/usr/bin/env bash source config.sh echo "VAR1 is $VAR1" echo "VAR2 is $VAR2"

VAR1 is foo VAR2 is bar

johtopäätös

Tässä oppaassa olet oppinut käyttämään source Built -komentoa komentosarjoissa.

bash terminaali