Eksporterer bashvariabler

Eksporterer bashvariabler
Å forstå variabler i bashskallet er avgjørende for å jobbe med Linux på en profesjonell måte. Det er et av de viktigste kravene til programmering samt å oppnå Linux Professional Institute Certification (LPIC) nivå 1 [2].

Den tidligere publiserte artikkelen av Fahmida Yesmin [4] gir deg en fantastisk introduksjon til bash -variabler. Her går vi videre, og forklarer hvordan du erklærer variabler i bash på en slik måte at du kan bruke dem i andre miljøer på Linux -systemet ditt, og hvilke tilsvarende bivirkninger du må ta hensyn til.

En kort beskrivelse av bash

Bash Shell ble først utgitt i 1989 og har blitt brukt som standard påloggingsskall for de fleste Linux -distribusjoner. Brian Fox skrev Bash som et UNIX -skall og kommandospråk for GNU -prosjektet som en gratis programvareutskiftning for Bourne Shell. Det er et forkortelse for Bourne igjen skall. Bash er stort sett kompatibel med sh og inneholder nyttige funksjoner fra Korn -skallet ksh og C -skallet csh [6].

Mens GNU -operativsystemet gir andre skjell, inkludert en versjon av csh, Bash er standard interaktivt skall. Den er designet med bærbarhet i tankene, og kjører for tiden på nesten alle versjoner av UNIX pluss andre operativsystemer [9].

Bash -variabler i et nøtteskall

Variabler er viktige komponenter i programmeringsspråk. De blir referert til og manipulert i et dataprogram. Enkelt sagt representerer variabler navngitte minneceller. Dette er det samme i bash som på ethvert programmeringsspråk. Dette gjør det mulig for oss som mennesker og brukere av datamaskinen å lagre verdier i "hjernen" på datamaskinen og finne dem igjen via det tildelte navnet på variabelen.

Begrepet variabel refererer til en kombinert form av to ord, i.e., variere + stand, noe som betyr at verdien kan endres, og den kan brukes i flere ganger. I motsetning til dette kalles variabler som ikke kan endres. [10]

Så lenge det er nok minne tilgjengelig for skriptet ditt, kan du fritt lage og bruke variabler. Du kan ganske enkelt angi dem ved å definere et variabelt navn og deretter tildele verdien. Et variabelt navn i bash kan inkludere bokstaver, sifre og understreker. Navnet kan startes med et brev og en understrek, bare. Gyldige variabelnavn er størrelse, tax5 og _Tax20, men ikke 5Rules.

En variabel verdi i bash kan inneholde et tall, et enkelt tegn, en streng med tegn eller en liste over elementer (kalt matrise). Den har ikke en synlig datatype, og den interne datatypen på variabelen blir automatisk funnet ut (eller avledet) ved tildeling av en verdi. Videre er det ikke nødvendig å erklære variabelen - å tilordne en verdi til referansen vil opprette variabelen automatisk. Eksemplet Bash -skriptet nedenfor demonstrerer dette for en strengoppgave, og en numerisk nummeroppgave.

#! /bin/bash
Welcomemessage = "Hello World!""
Echo $ Welcomemessage
Pris = 145
ekko $ pris

Navnkonvensjoner av bashvariabler

Det er ingen faste regler for stavemåte for navn på variabler, bare konvensjoner. Disse konvensjonene brukes:

  • Smånavn - variabler som er lokale for et skript eller funksjon.
    Uansett om stavet lavere_case/slangesak [8], eller kamel case -stil [7]. Eksemplet over bruker kamel case -stil.
  • Overgreasenavn - Konstanter, miljøvariabler, innebygde variabler.
    Husk at disse variablene allerede kan være i bruk av andre programmer. Eksempler er $ bane, $ lang, $ pwd, $ ps4 og $ shell.

For globale IT -selskaper er det vanlig å jobbe med stilguider for å sikre en felles kodingsstil blant selskapet. Se utviklerens redaksjon for IBM, og Google Style Guide [3] for mer informasjon om konvensjonene de følger.

Variabel synlighet

Standard tilfellet er at en variabel er lokalt bundet til en struktur, funksjon, skript eller prosess, og ikke kan nås utenom den. Eksemplet nedenfor viser dette for variabelen $ -meldingen som tilhører skriptet, og $ velkomst som tilhører funksjonen OutputWelComemessage ().

#!/bin/bash
# Definer en variabel melding til skriptet
melding = ”Hei, igjen!”
outputWelComemessage ()
# Definer en lokal variabel
Velkommen = ”Hei!”
Echo $ velkommen

outputWelComemessage () # Skriver ut hei!
Echo $ melding # Skriver ut hei, igjen!

For å sikre at en tidligere definert variabel med samme navn er lokalt bundet, bruk nøkkelordet lokalt som demonstrert neste. Uten nøkkelordet lokalt ville oppgaven i linje 8 forholde seg til den globalt definerte variabelen med samme navn definert tidligere.

#!/bin/bash
# Definer en variabel melding til skriptet
melding = ”Hei, igjen!”
outputWelComemessage ()
# Definer en lokal variabel med samme navn
Lokal melding = ”Hei!”
ekko $ melding

outputWelComemessage () # Skriver ut hei!
Echo $ melding # Skriver ut hei, igjen!

Utvide omfanget av en variabel

For å gjøre en intern variabel synlig for andre barneprosesser er det nødvendig med et ekstra trinn. Dette trinnet kalles eksport av en variabel. Bash tilbyr bruken av nøkkelordeksporten etterfulgt av variabelnavnet. Oppføringen nedenfor viser dette for variabel backuppath.

$ backuppath = ”/opt/backup/”
$ Eksport Backuppath

Eksportkommandoen er et innebygd skall som brukes til å definere variabelen som en som underskall (skjell som er gyte fra originalen) arve. Variabler som eksporteres kan leses og skrives av mer enn en prosess, deretter.

Det andre alternativet er å erklære variabelen som en miljøvariabel helt fra starten av. Du kan gjøre det ved å bruke nøkkelord erklærte etterfulgt av alternativet “-x” (se [5] for mer informasjon om deklar-kommandoen). Effekten ligner på eksportkommandoen som ble introdusert før.

$ erklære -x backuppath = ”/opt/backup/”

Arve fra andre økter

Når du utfører et program arver det automatisk miljøvariablene fra overordnede prosess. For eksempel hvis $ hjem er satt til /rot i foreldrene, er barnets $ hjemmevariabel også satt til /rot.

Ytterligere kommandoer

Blant andre kommer Linux med nyttige kommandoer og alternativer som er relatert til variabler. De to første kalles env og printenv. De viser alle miljøvariablene.

Bildet nedenfor viser utgangen fra kommandoen Env i en terminal som kjøres i en X -økt. Den inneholder variabler som $ xTerm (terminal type), $ shell (programmet som kalles på innlogging, og viser /bin /bash for banen til bash -tolken), $ ls_colors (fargene som er i bruk for å fremheve annen fil Typer når du ringer til LS), og $ Desktop_Session (det nåværende X Desktop -miljøet).

Den tredje og den fjerde er alternativene for eksportkommandoen --P og -N. -P er kort for utskrift og viser bare alle eksporterte variabler i det nåværende skallet ved å bruke deklar -kommandoen.

$ eksport -p
erklære -X Desktop_Session = "XFCE"
erklære -x display = ": 0"
erklære -x glade_catalog_path = ":"
erklære -x glade_module_path = ":"
erklære -x glade_pixmap_path = ":"
erklære -X Home = "/Home/Frank"
erklære -x lang = "de_de.UTF-8 "

Alternativet -N brukes til å fjerne en miljøvariabel. Oppføringen nedenfor viser dette for den tidligere definerte variable backuppath.

$ eksport -n backuppath

Konklusjon

Bash er et veldig smart, men noen ganger også et litt sammensatt miljø. Variabler kontrollerer hvordan de forskjellige verktøyene samhandler. Å eksportere variabler hjelper til med å kommunisere mellom prosesser og er enkelt å bruke i hverdagen.

Om forfatterne

Jacqui Kabeta er en miljøvern, ivrig forsker, trener og mentor. I flere afrikanske land har hun jobbet i IT -bransjen og NGO -miljøer.

Frank Hofmann er en IT -utvikler, trener og forfatter og foretrekker å jobbe fra Berlin, Genève og Cape Town. Medforfatter av Debian Package Management Book tilgjengelig fra DPMB.org

Lenker og referanser

  • [1] Bash -programmering, variabler, https: // tldp.org/howto/bash-prog-intro-howto-5.html
  • [2] Linux Professional Institute LPIC-1, https: // www.LPI.org/our-sertifiseringer/LPIC-1-oversiew
  • [3] Google Shell Style Guide, variabelnavn, https: // google.github.IO/StyleGuide/Shellguide.HTML#S7-naming-konvensjoner
  • [4] Fahmida Yesmin: Hvordan bruke variabler i bash -programmering, https: // linuxhint.com/variabler-bash-programmering/
  • [5] The Bash Hackers Wiki, https: // wiki.bash-hackere.org/
  • [6] Bash, Wikipedia, https: // no.Wikipedia.org/wiki/bash_ (unix_shell)
  • [7] Camel Case, Wikipedia, https: // no.Wikipedia.org/wiki/camel_case
  • [8] Snake Case, Wikipedia, https: // no.Wikipedia.org/wiki/snake_case
  • [9] Hva er bash. https: // www.gnu.org/programvare/bash/manuell/html_node/hva-er-bash_003f.html
  • [10] Bruke variabler i bash https: // opensource.com/artikkel/19/8/Bruke variable-bash
  • Forstå bashelementer i programmering https: // www.Linuxjournal.com/innhold/forståelse av bash-elementer-programmering
  • Bash -variabler https: // www.Javatpoint.com/bash-variabler