logo

Bashove premenné

Premenné sú základnou súčasťou programovania, alebo môžeme povedať, že sú duchom programovacieho jazyka. Premenné určujú umiestnenie pamäte pomocou znakov, čísel a alfanumerických znakov. Zvyknú sa na ne odkazovať a manipulovať s nimi v počítačovom programe.

Aké sú premenné?

Premenné sú kontajnery, ktoré uchovávajú údaje alebo užitočnú informáciu ako hodnotu v nich. Nižšie je syntax premennej:

 Variable_name =value 

Premenná je kombinovaná forma dvoch slov, t. j. premenná + možnosť, čo znamená, že jej hodnotu možno zmeniť a možno ju použiť viackrát.

kontrola nuly java

Premenná je známa ako dočasné úložisko pre akýkoľvek druh údajov, ako je celé číslo, float, char atď. Názov premennej môže zahŕňať abecedy, číslice a podčiarknutie a jeho názov možno začať iba abecedou a podčiarkovníkom.

Poznámka: Nemôžeme definovať názov premennej začínajúci akoukoľvek číslicou.

Čo sú Bashove premenné?

Nemôžeme použiť bash premenné bez správnych informácií ( syntax, dátové typy, typy, prac ), prejdime si tento stručný návod, aby sme mali správny prehľad o premenných Bash.

Najprv musíte poznať syntax.

Syntax:

 Variable_name=value 

Sada pravidiel na definovanie premenných Bash:

  1. Pri čítaní alebo tlači premennej uveďte pred názov premennej znak dolára ($).
  2. Pri nastavovaní premennej s ľubovoľnou hodnotou vynechajte znak dolára ($).
  3. Názov premennej môže byť alfanumerický alebo môže byť napísaný s podčiarkovníkom (_).
  4. V názve premennej sa rozlišujú malé a veľké písmená: x a X sa považujú za dve rôzne premenné.
  5. názov premennej môže byť napísaný buď UPPER_CASE alebo LOWER_CASE písmenami alebo kombináciou oboch, ako chcete.
  6. Premenná môže byť umiestnená kdekoľvek v Bash skripte alebo na príkazovom riadku, pretože za behu ju Bash nahradí priradenou hodnotou. Bolo to možné vďaka vykonaniu substitúcie pred spustením príkazu.
  7. Na žiadnej strane znamienka rovnosti (=) medzi názvom premennej a jej hodnotou by nemali byť medzery. Nasleduje niekoľko príkladov Neplatné premenné majú medzi sebou medzery (označené bodkami ...), ako je uvedené nižšie:
    var1=...premenná1
    var2...=premenná2
    var3...=...premenná3
  8. Na definovanie premennej s hodnotou jedného znaku nie je potrebné používať žiadne úvodzovky, jednoduché alebo dvojité, ako napr var1=premenná . Ak chcete zadať viac slov alebo reťazec ako jednu položku do premennej, použite úvodzovky na uzavretie obsahu do tejto premennej.
    • Single Quote ('') pomáha liečiť každú postavu.
    • Dvojitá úvodzovka ('') pomáha pri nahrádzaní.

Typy údajov

Vo formálnych programovacích jazykoch musíte definovať typ údajov akejkoľvek premennej v čase deklarácie premennej. Napríklad:

 int year=2012 char comp_name='jtp' 

Ale v prípade Bash nemusíte definovať dátový typ žiadnej premennej v čase deklarácie premennej. Bash premenné sú netypizované , čo znamená, že stačí zadať názov premennej priradením jej hodnoty a automaticky zohľadní tento typ údajov.

Taký, že ak premennej priradíte akúkoľvek číselnú hodnotu, bude fungovať ako celé číslo a ak premennej priradíte hodnotu znaku, bude to String.

 year=2012 comp_name=jtp 

pomocou príkazu echo ich prečítate tak, že pred ich meno priradíte znak $, ako napr

echo $rok
echo $name

Typy Bashových premenných

V shelli alebo v akomkoľvek systéme UNIX existujú dva typy premenných.

  1. Systémom definované premenné
  2. Používateľom definované premenné

1. Systémom definované premenné: Toto sú preddefinované premenné tak, ako ich vytvára a udržiava samotný operačný systém LINUX. Ich štandardná konvencia je, že vo všeobecnosti sú definované veľkými písmenami, t.j. UPPER_CASE. Takže kedykoľvek uvidíte premennú definovanú veľkými písmenami, s najväčšou pravdepodobnosťou ide o premenné definované systémom.

Toto sú nasledujúce premenné definované systémom, ako je uvedené nižšie:

1. BASH predstavuje názov Shell.

Príklad:

 BASH=/usr/bin/bash 

2. BASH_VERSION určuje verziu shellu, ktorú má Bash.

Príklad:

 BASH_VERSION=4.2.46(2) 

3. STĹPCE špecifikovať č. stĺpcov pre našu obrazovku.

Príklad:

 COLUMNS=80 

4. DOMOV určuje domovský adresár používateľa.

Príklad:

 HOME=/home/jatpoint 

5. LOGNAME určuje prihlasovacie meno používateľa.

Príklad:

 LOGNAME=javatpoint 

6. OSTYPE informuje o type OS.

Príklad:

 OSTYPE=linux-gnu 

7. OZP predstavuje aktuálny pracovný adresár.

Príklad:

 PWD=/home/javatpoint 

8. POUŽÍVATEĽSKÉ MENO určuje meno aktuálne prihláseného užívateľa.

Príklad:

 USERNAME=javatpoint 

Ak chcete poznať zoznam týchto premenných vo vašom systéme, zadajte príkazy set, env , a printenv na termináli príkazového riadka takto:

1. Zadaním nastaviť príkaz.

Výkon:

Bashove premenné

2. Zadaním env príkaz

Výkon:

Bashove premenné

3. Zadaním príkazu printenv

Výkon:

Bashove premenné

Nazvime tieto premenné prostredníctvom Bash Shell. Nasledujú uvedené kroky:

Krok 1: Vytvorte skript s názvom Bash_sdvar a do konzoly Bash zadajte nasledujúci kód:

 #! /bin/bash # Bash System-defined Variables echo $HOME # Home Directory echo $PWD # current working directory echo $BASH # Bash shell name echo $BASH_VERSION # Bash shell Version echo $LOGNAME # Name of the Login User echo $OSTYPE # Type of OS 

Krok 2. Pozrite sa na nižšie uvedenú konzolu Bash:

Bashove premenné

Krok 3. Uložte a spustite skript. Zobrazí výstup, ako môžete vidieť na obrázku nižšie.

Výkon:

Bashove premenné

2. Používateľom definované premenné: Tieto premenné vytvára a udržiava používateľ. Vo všeobecnosti sú tieto typy premenných definované v LOWER_CASES. Neexistuje žiadne prísne pravidlo písať tieto premenné malými písmenami. Môžeme ich písať aj veľkými písmenami.

Vytvorme Bash Script na definovanie týchto premenných. Postupujte podľa krokov uvedených nižšie:

Krok 1. Vytvorte skript s názvom podľa bash_yard a zadajte nasledujúci kód na konzole Bash:

 #! /bin/bash # User-Defined Variables name=Peter ROLL_NO=5245325 echo 'The student name is $name and his Roll number is $ROLL_NO.' 

Krok 2. Pozrite si kód na konzole Bash.

Bashove premenné

Krok 3. Uložte a spustite skript.

Výkon:

Bashove premenné

Fungovanie Bashových premenných

Po základnej demonštrácii premenných poďme vedieť, ako fungujú?

Existujú dve akcie, ktoré zvyčajne vykonávame pre premennú v Bash, ako je uvedené nižšie:

  • nastavenie hodnoty pre premennú
  • čítanie hodnoty pre to.

Hodnotu premennej je možné nastaviť rôznymi spôsobmi, pričom najbežnejším spôsobom je priame nastavenie hodnoty. Na čítanie premennej môžeme umiestniť jej názov (predponu so znakom $) kdekoľvek v skripte.

Bash najprv skontroluje všetky názvy premenných, ako keby boli prítomné v skripte. Potom interpretuje každý riadok nášho skriptu. Po identifikácii každej premennej nahradí názov premennej priradenou hodnotou. Koniec koncov, interpretuje/spúšťa tento riadok kódu a pokračuje v tomto procese pre každý kódovaný riadok nášho skriptu.

POZNÁMKA: Oba druhy premenných v Bash (diskutovali sme) fungujú na termináli aj na Bash skripte. Pozrime sa na ich prácu na termináli a Bash prostredníctvom jednoduchého príkladu:

Príklad: Zavolajte meno používateľa podľa XYZ, jeho umiestnenie, na ktorom momentálne pracuje, a verziu Bash Shell, ktorú používa na Bash Scripting.

1. Práca na termináli

Bashove premenné

2. Práca na Bash Shell

Pozrite si skript pomenovaný Bash_Var uvedený nižšie:

Bashove premenné

V 3rdriadok skriptu , deklarovali sme premennú USER_NAME na uloženie používateľského mena XYZ ako jeho hodnotu.

V posledných dvoch riadkoch , vytlačili sme zamýšľanú správu pomocou ozvena príkaz.

V tejto správe sú dve premenné a jeden príkaz. Pred každým z nich je znak dolára ($), kde:

    USER_NAMEje používateľom definovaná premenná na volanie používateľského mena,BASH_VERSIONje systémovo definovaná premenná, ktorá sa nazýva shell. Používa sa na tlač verzie Bash Shell,OZPpríkaz sa používa na vytlačenie aktuálnej polohy používateľa.

Pre lepšie pochopenie vytvorte tento skript podľa zadaného kódu:

 #! /bin/bash #Bash Variables USER_NAME=XYZ echo Hey there! $USER_NAME is any user currently working on the directory $PWD with Bash Shell Version $BASH_VERSION. 

Zobrazí výstup, ako môžete vidieť na nasledujúcom obrázku:

Výkon:

Bashove premenné

Existuje niekoľko ďalších príkladov na precvičovanie premenných na termináli aj Bash Shell. Nasledovaním súbor pravidiel (diskutované predtým) majte prax s premennými takto:

A. Používanie terminálu príkazového riadka

1. Nastavenie premenných

Bashove premenné

2. Čítanie a odkazovanie na premenné

Bashove premenné

3. Neplatné premenné

Bashove premenné

4. Spojenie dvoch reťazcových premenných

Bashove premenné

5. Reťazenie reťazcov s premennými

Bashove premenné

POZNÁMKA: Nepoužívajte jednoduché úvodzovky na kombinovanie dvoch premenných a tiež na zreťazenie reťazcov s premennými. Tak, že ak zreťazíte reťazce tak, že ich uzatvoríte do jednoduchých úvodzoviek, nebude sa vám ich čítať, ako môžete vidieť na obrázku nižšie:

Bashove premenné

B. Používanie skriptu Bash:

Je to príklad kombinovanie premenných typu String.

Bashove premenné

Výkon:

Bashove premenné

Argumenty príkazového riadku

Argumenty príkazového riadku sa používajú na zvýšenie dynamiky skriptu odovzdaním vstupu do kódu. Tieto argumenty odovzdávame za behu skriptu v nasledujúcom tvare:

 ./script_name arg1 arg2 arg3..... 

Medzi názvom skriptu a všetkými prechádzajúcimi argumentmi by nemala byť žiadna medzera.

Ako používať argumenty príkazového riadku?

V Bash Shell sa používajú s odkazom na nasledujúce predvolené parametre alebo špeciálne premenné.

    0 USDurčuje názov skriptu, ktorý sa má vyvolať.$ 1 - $ 9ukladá názvy prvých 9 argumentov alebo ich možno použiť ako pozície argumentov.# $určuje celkový počet (počet) argumentov odovzdaných skriptu.$*ukladá všetky argumenty príkazového riadku ich spojením.$@ukladá zoznam argumentov ako pole.$?určuje ID procesu aktuálneho skriptu.$$určuje stav ukončenia posledného príkazu alebo posledného procesu vykonania.$!zobrazuje ID poslednej úlohy na pozadí.

Nasledujú dve metódy, ktoré používame na odovzdávanie argumentov príkazového riadka:

Metóda 1: Použitie čísla pozície

Je to prvý spôsob prístupu k argumentom pomocou predvolených parametrov (...). Nižšie uvedený obrázok to vysvetľuje:

Bashove premenné

Výkon:

Bashove premenné

Metóda 2: Použitie poľa.

Je to druhý spôsob odovzdávania argumentov ako pole. Ak chcete použiť túto metódu, postupujte podľa daného algoritmu.

Krok 1: Vytvorte Bash skript.

Krok 2: Deklarujte ľubovoľný názov premennej a priraďte jej hodnotu ako $a v nasledujúcej forme:

 variable_name=('$@') 

Kde $@ je predvolený argument, ktorý sa používa na ukladanie argumentov (odovzdávame) ako pole.

Krok 3: Zobrazte argumenty definovaním ich indexu poľa v nasledujúcom tvare:

 ${variable_name[i]} 

Krok 4: Uložte a zatvorte skript.

Krok 5: Spustite skript odovzdaním argumentov.

Pozrite si nasledujúci program:

Program:

 #!/bin/bash args=('$@') echo ${args[0]} ${args[1]} ${args[2]} ${args[3]} 

Na konzole Bash:

Bashove premenné

Výkon:

Bashove premenné

Náhrada príkazov

Podľa oficiálnej dokumentácie Bash

'Nahradenie príkazu umožňuje výstup príkazu nahradiť samotný príkaz. Bash vykoná expanziu vykonaním príkazu v prostredí subshell a nahradením príkazu nahradením štandardným výstupom príkazu, pričom všetky koncové nové riadky sa odstránia. Vložené nové riadky sa neodstránia, ale môžu sa odstrániť počas delenia slov.“

Náhrada príkazov sa týka rozšírenia, ktoré pre nás vykonáva Bash. Prevezme výstup príkazu Bash, uloží ho do premennej (všeobecne) a zobrazí ho späť s ozvenou.

Náhrada príkazov ponúka flexibilitu údajov, pokiaľ ide o skriptovanie a priraďovanie premenných. Je to jednoduché a ľahké pre výstup z jedného príkazového riadku. V prípade, že výstup prechádza cez niekoľko riadkov, potom sa nové koncové riadky odstránia a celý obsah výstupu skončí na jednom riadku.

Pozrite si syntax na použitie:

Syntax

Klasická forma nahrádzania príkazov v premennej alebo substitúcie príkazov je pomocou spätných úvodzoviek (`...`), ako je uvedené nižšie:

 variable_name=`command_name` variable_name=`command_name [option...] argument1 argument2...` variable_name=`/path/to/command` 

Teraz vykonáme nahradenie príkazov tak, že príkazy uzatvoríme do hranatých zátvoriek (pred ktorými je znak dolára ($)). Pozrieť sa:

 variable_name=$(command_name) variable_name=$(command_name [option...] argument1 argument2...) variable_name=$(path/to/command) 

Takže urobme substitúciu príkazov s príkladom podľa diskusie.

V tomto príklade nahrádzame jeden príkaz ls v premennej. Pozrite si terminál.

Bashove premenné

Riadok 1: Bez nahradenia príkazov sa výstup rozšíri do viacerých riadkov.

Riadok 2 a 3: Pri substitúcii príkazov sa výstup ukončí na jednom riadku (ušetrilo sa miesto odstránením nových riadkov v ťahu).

Nasleduje Bash Script na testovanie náhrady príkazov.

Program:

 #! /bin/bash # command substitution lsResult=$(ls) echo 'My files are:' $lsResult 

Pozrite si konzolu Bash:

Bashove premenné

Výkon:

Bashove premenné