logo

Басх Вариаблес

Променљиве су суштински део програмирања, или можемо рећи да су дух програмског језика. Променљиве одређују меморијску локацију кроз знакове, нумеричке и алфанумеричке. Користе се за референцирање и за манипулацију у компјутерском програму.

Које су варијабле?

Променљиве су контејнери који чувају податке или корисне информације као вредност унутар њих. Испод је синтакса за променљиву:

 Variable_name =value 

Променљива је комбиновани облик од две речи, тј. вари +абле, што значи да се њена вредност може мењати и користити више пута.

гимп извоз као јпг

Променљива је позната као привремено складиште за било коју врсту података као што су цео број, флоат, цхар, итд. Име променљиве може укључивати абецеде, цифре и доње црте , а његово име може да почне само са алфабетом и доњом цртом.

Напомена: Не можемо дефинисати име променљиве које почиње било којом цифром.

Шта су Басх варијабле?

Не можемо да користимо басх променљиве без одговарајућих информација ( синтакса, типови података, типови, радни ) о томе, па хајде да прођемо кроз овај кратки водич за одговарајући преглед Басх променљивих.

У почетку, познајте синтаксу.

Синтакса:

 Variable_name=value 

Постављена правила за дефинисање Басх променљивих:

  1. Додајте префикс имену променљиве знаком долара ($) док читате или штампате променљиву.
  2. Оставите знак долара ($) док постављате променљиву са било којом вредношћу.
  3. Име променљиве може бити алфанумеричко или може бити написано са доњом цртом (_).
  4. Име променљиве је осетљиво на велика и мала слова: к и Кс се сматрају две различите променљиве.
  5. име променљиве може бити написано или у УППЕР_ЦАСЕ или ЛОВЕР_ЦАСЕ словима или мешавина оба како желите.
  6. Променљива се може поставити било где у Басх скрипти или на командној линији, јер ће је Басх за време извршавања заменити њеном додељеном вредношћу. То је постало могуће због вршења замене пре покретања команде.
  7. Не би требало да постоји размак са обе стране знака једнакости (=) између имена променљиве и њене вредности. Следе неки примери Неважеће променљиве имају размаке (означене тачкама ...) између њих као што је дато у наставку:
    вар1=...променљива1
    вар2...=променљива2
    вар3...=...променљива3
  8. Нема потребе да користите било какве наводнике, било једноструке или двоструке, да бисте дефинисали променљиву са једнознаковном вредношћу, као што је вар1=променљива . Да бисте унели више речи или стринг као једну ставку у променљивој, онда користите наводнике за затварање вашег садржаја у ту променљиву.
    • Једноструки наводник ('') помаже да се третира сваки знак.
    • Двоструки наводник ('') помаже да се изврши замена.

Типови података

У формалним програмским језицима, морате дефинисати тип података било које променљиве у време декларације променљиве. На пример:

 int year=2012 char comp_name='jtp' 

Али у случају Басх-а, не морате да дефинишете тип података било које променљиве у време декларације променљиве. Басх варијабле су неоткуцана , што значи да само укуцајте име променљиве тако што ћете јој доделити вредност и аутоматски ће узети у обзир тај тип података.

Тако да ако променљивој доделите било коју нумеричку вредност, она ће радити као цео број, а ако променљивој доделите вредност карактера, онда ће то бити Стринг.

 year=2012 comp_name=jtp 

користећи команду ецхо, прочитајте их тако што ћете доделити знак $ испред њиховог имена, као нпр

ехо $година
ецхо $наме

Типови Басх променљивих

Постоје две врсте променљивих у љусци или било ком УНИКС систему.

  1. Системски дефинисане променљиве
  2. Кориснички дефинисане променљиве

1. Системски дефинисане променљиве: Ово су унапред дефинисане варијабле које креира и одржава сам ЛИНУКС оперативни систем. Њихова стандардна конвенција је да су генерално дефинисани великим словима, тј. ВЕЛИКА_ЦАСЕ. Дакле, кад год видите променљиву дефинисану великим словима, највероватније су то системски дефинисане променљиве.

Ово су следеће системски дефинисане варијабле као што је дато у наставку:

1. БАСХ представља назив љуске.

Пример:

 BASH=/usr/bin/bash 

2. БАСХ_ВЕРСИОН специфицира верзију љуске коју Басх држи.

Пример:

 BASH_VERSION=4.2.46(2) 

3. КОЛОНЕ наведите бр. колона за наш екран.

Пример:

 COLUMNS=80 

4. ДОМ одређује почетни директоријум за корисника.

Пример:

 HOME=/home/jatpoint 

5. ЛОГНАМЕ специфицира корисничко име за евидентирање.

Пример:

 LOGNAME=javatpoint 

6. ОСТИПЕ говори о типу ОС-а.

Пример:

 OSTYPE=linux-gnu 

7. ОСИ представља тренутни радни директоријум.

Пример:

 PWD=/home/javatpoint 

8. УСЕРНАМЕ специфицира име тренутно пријављеног корисника.

Пример:

 USERNAME=javatpoint 

Да бисте сазнали листу ових променљивих у вашем систему, откуцајте команде сет, енв , и принтенв на терминалу командне линије на следећи начин:

1. Укуцавање комплет команда.

Излаз:

Басх Вариаблес

2. Укуцавање енв команда

Излаз:

Басх Вариаблес

3. Откуцајте команду принтенв

Излаз:

Басх Вариаблес

Позовимо ове варијабле кроз Басх Схелл. У наставку су дати кораци:

Корак 1: Направите скрипту по имену Басх_сдвар и откуцајте следећи код на Басх конзоли на следећи начин:

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

Корак 2. Погледајте Басх конзолу дату у наставку:

Басх Вариаблес

Корак 3. Сачувајте и извршите скрипту. Приказаће излаз као што можете видети на слици испод.

Излаз:

Басх Вариаблес

2. Кориснички дефинисане променљиве: Ове варијабле креира и одржава корисник. Генерално, ове врсте променљивих су дефинисане у ЛОВЕР_ЦАСЕС. Не постоји никакво стриктно правило за писање ових променљивих малим словима. Можемо их писати и великим словима.

Хајде да направимо Басх скрипту да дефинишемо ове варијабле. Пратите дате кораке дате у наставку:

Корак 1. Креирајте скрипту по имену басх_иард и откуцајте следећи код на Басх конзоли:

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

Корак 2. Погледајте код на Басх конзоли.

Басх Вариаблес

Корак 3. Сачувајте и извршите скрипту.

Излаз:

Басх Вариаблес

Рад Басх варијабли

Након основне демонстрације варијабли, хајде да сазнамо како оне функционишу?

Постоје две радње које обично изводимо за променљиву у Басх-у као што је дато у наставку:

  • постављање вредности за променљиву
  • читање вредности за то.

Вредност променљиве се може подесити на различите начине на који је најчешћи начин да се вредност постави директно. Да бисмо прочитали променљиву, можемо да поставимо њено име (са префиксом са знаком $) било где у скрипти.

Басх прво проверава сва имена променљивих као да су присутна у скрипти. Затим тумачи сваки ред нашег писма. Након што идентификује сваку променљиву, замењује име променљиве њеном додељеном вредношћу. На крају крајева, он тумачи/покреће ту линију кода и наставља овај процес за сваки кодирани ред наше скрипте.

НАПОМЕНА: Обе врсте променљивих у Басху (о којима смо разговарали) раде на терминалу као и на Басх скрипти. Погледајмо њихов рад на терминалу и Басху кроз једноставан пример:

Пример: Позовите корисничко име према КСИЗ, његовој локацији на којој тренутно ради и верзији Басх Схелл-а коју користи за Басх скриптовање.

1. Рад на терминалу

Басх Вариаблес

2. Рад на Басх Схелл-у

Погледајте скрипту коју је именовао Басх_Вар у наставку:

Басх Вариаблес

У 3рдред скрипте , декларисали смо променљиву КОРИСНИЧКО ИМЕ да сачувате корисничко име КСИЗ као своју вредност.

У последња два реда , одштампали смо жељену поруку користећи одјек команда.

У овој поруци постоје две променљиве и једна команда. Сваком од њих претходи знак долара ($) где:

    КОРИСНИЧКО ИМЕје кориснички дефинисана варијабла за позивање корисничког имена,БАСХ_ВЕРСИОНје системски дефинисана променљива, коју љуска назива сама. Користи се за штампање верзије Басх Схелл-а,ОСИкоманда се користи за штампање тренутне локације корисника.

За боље разумевање, креирајте ову скрипту пратећи дати код:

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

Приказаће излаз као што можете видети на следећој слици:

Излаз:

Басх Вариаблес

Постоји још неколико примера за вежбање варијабли и на терминалу и на Басх Схелл-у. Пратећи скуп правила (о коме се раније расправљало) имају праксу у вези са варијаблама као што следи:

А. Коришћење терминала командне линије

1. Подешавање променљивих

Басх Вариаблес

2. Читање и референцирање варијабли

Басх Вариаблес

3. Неважеће варијабле

Басх Вариаблес

4. Комбиновање две стринг променљиве

Басх Вариаблес

5. Повезивање стрингова са променљивим

Басх Вариаблес

НАПОМЕНА: Не користите појединачне наводнике за комбиновање две променљиве, као ни за спајање низова са променљивим. Тако да ако спојите низове тако што ћете их ставити у појединачне наводнике, онда ће бити неуспешно читање као што можете видети на слици датој испод:

Басх Вариаблес

Б. Коришћење Басх скрипте:

То је пример за комбинујући Стринг променљиве.

Басх Вариаблес

Излаз:

Басх Вариаблес

Аргументи командне линије

Аргументи командне линије се користе да би скрипту учинили динамичнијом прослеђивањем уноса у код. Ми прослеђујемо ове аргументе током извршавања скрипте у следећем облику:

 ./script_name arg1 arg2 arg3..... 

Не би требало да постоји размак између имена скрипте и свих аргумената који се преносе.

Како користити аргументе командне линије?

У Басх Схелл-у, они се користе са референцама на следеће подразумеване параметре или посебне променљиве.

    Променљиве су суштински део програмирања, или можемо рећи да су дух програмског језика. Променљиве одређују меморијску локацију кроз знакове, нумеричке и алфанумеричке. Користе се за референцирање и за манипулацију у компјутерском програму.

    Које су варијабле?

    Променљиве су контејнери који чувају податке или корисне информације као вредност унутар њих. Испод је синтакса за променљиву:

     Variable_name =value 

    Променљива је комбиновани облик од две речи, тј. вари +абле, што значи да се њена вредност може мењати и користити више пута.

    Променљива је позната као привремено складиште за било коју врсту података као што су цео број, флоат, цхар, итд. Име променљиве може укључивати абецеде, цифре и доње црте , а његово име може да почне само са алфабетом и доњом цртом.

    Напомена: Не можемо дефинисати име променљиве које почиње било којом цифром.

    Шта су Басх варијабле?

    Не можемо да користимо басх променљиве без одговарајућих информација ( синтакса, типови података, типови, радни ) о томе, па хајде да прођемо кроз овај кратки водич за одговарајући преглед Басх променљивих.

    У почетку, познајте синтаксу.

    Синтакса:

     Variable_name=value 

    Постављена правила за дефинисање Басх променљивих:

    1. Додајте префикс имену променљиве знаком долара ($) док читате или штампате променљиву.
    2. Оставите знак долара ($) док постављате променљиву са било којом вредношћу.
    3. Име променљиве може бити алфанумеричко или може бити написано са доњом цртом (_).
    4. Име променљиве је осетљиво на велика и мала слова: к и Кс се сматрају две различите променљиве.
    5. име променљиве може бити написано или у УППЕР_ЦАСЕ или ЛОВЕР_ЦАСЕ словима или мешавина оба како желите.
    6. Променљива се може поставити било где у Басх скрипти или на командној линији, јер ће је Басх за време извршавања заменити њеном додељеном вредношћу. То је постало могуће због вршења замене пре покретања команде.
    7. Не би требало да постоји размак са обе стране знака једнакости (=) између имена променљиве и њене вредности. Следе неки примери Неважеће променљиве имају размаке (означене тачкама ...) између њих као што је дато у наставку:
      вар1=...променљива1
      вар2...=променљива2
      вар3...=...променљива3
    8. Нема потребе да користите било какве наводнике, било једноструке или двоструке, да бисте дефинисали променљиву са једнознаковном вредношћу, као што је вар1=променљива . Да бисте унели више речи или стринг као једну ставку у променљивој, онда користите наводнике за затварање вашег садржаја у ту променљиву.
      • Једноструки наводник ('') помаже да се третира сваки знак.
      • Двоструки наводник ('') помаже да се изврши замена.

    Типови података

    У формалним програмским језицима, морате дефинисати тип података било које променљиве у време декларације променљиве. На пример:

     int year=2012 char comp_name='jtp' 

    Али у случају Басх-а, не морате да дефинишете тип података било које променљиве у време декларације променљиве. Басх варијабле су неоткуцана , што значи да само укуцајте име променљиве тако што ћете јој доделити вредност и аутоматски ће узети у обзир тај тип података.

    Тако да ако променљивој доделите било коју нумеричку вредност, она ће радити као цео број, а ако променљивој доделите вредност карактера, онда ће то бити Стринг.

     year=2012 comp_name=jtp 

    користећи команду ецхо, прочитајте их тако што ћете доделити знак $ испред њиховог имена, као нпр

    ехо $година
    ецхо $наме

    Типови Басх променљивих

    Постоје две врсте променљивих у љусци или било ком УНИКС систему.

    1. Системски дефинисане променљиве
    2. Кориснички дефинисане променљиве

    1. Системски дефинисане променљиве: Ово су унапред дефинисане варијабле које креира и одржава сам ЛИНУКС оперативни систем. Њихова стандардна конвенција је да су генерално дефинисани великим словима, тј. ВЕЛИКА_ЦАСЕ. Дакле, кад год видите променљиву дефинисану великим словима, највероватније су то системски дефинисане променљиве.

    Ово су следеће системски дефинисане варијабле као што је дато у наставку:

    1. БАСХ представља назив љуске.

    Пример:

     BASH=/usr/bin/bash 

    2. БАСХ_ВЕРСИОН специфицира верзију љуске коју Басх држи.

    Пример:

     BASH_VERSION=4.2.46(2) 

    3. КОЛОНЕ наведите бр. колона за наш екран.

    Пример:

     COLUMNS=80 

    4. ДОМ одређује почетни директоријум за корисника.

    Пример:

     HOME=/home/jatpoint 

    5. ЛОГНАМЕ специфицира корисничко име за евидентирање.

    Пример:

     LOGNAME=javatpoint 

    6. ОСТИПЕ говори о типу ОС-а.

    Пример:

     OSTYPE=linux-gnu 

    7. ОСИ представља тренутни радни директоријум.

    Пример:

     PWD=/home/javatpoint 

    8. УСЕРНАМЕ специфицира име тренутно пријављеног корисника.

    Пример:

     USERNAME=javatpoint 

    Да бисте сазнали листу ових променљивих у вашем систему, откуцајте команде сет, енв , и принтенв на терминалу командне линије на следећи начин:

    1. Укуцавање комплет команда.

    Излаз:

    Басх Вариаблес

    2. Укуцавање енв команда

    Излаз:

    Басх Вариаблес

    3. Откуцајте команду принтенв

    Излаз:

    Басх Вариаблес

    Позовимо ове варијабле кроз Басх Схелл. У наставку су дати кораци:

    Корак 1: Направите скрипту по имену Басх_сдвар и откуцајте следећи код на Басх конзоли на следећи начин:

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

    Корак 2. Погледајте Басх конзолу дату у наставку:

    Басх Вариаблес

    Корак 3. Сачувајте и извршите скрипту. Приказаће излаз као што можете видети на слици испод.

    Излаз:

    Басх Вариаблес

    2. Кориснички дефинисане променљиве: Ове варијабле креира и одржава корисник. Генерално, ове врсте променљивих су дефинисане у ЛОВЕР_ЦАСЕС. Не постоји никакво стриктно правило за писање ових променљивих малим словима. Можемо их писати и великим словима.

    Хајде да направимо Басх скрипту да дефинишемо ове варијабле. Пратите дате кораке дате у наставку:

    Корак 1. Креирајте скрипту по имену басх_иард и откуцајте следећи код на Басх конзоли:

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

    Корак 2. Погледајте код на Басх конзоли.

    Басх Вариаблес

    Корак 3. Сачувајте и извршите скрипту.

    Излаз:

    Басх Вариаблес

    Рад Басх варијабли

    Након основне демонстрације варијабли, хајде да сазнамо како оне функционишу?

    Постоје две радње које обично изводимо за променљиву у Басх-у као што је дато у наставку:

    • постављање вредности за променљиву
    • читање вредности за то.

    Вредност променљиве се може подесити на различите начине на који је најчешћи начин да се вредност постави директно. Да бисмо прочитали променљиву, можемо да поставимо њено име (са префиксом са знаком $) било где у скрипти.

    Басх прво проверава сва имена променљивих као да су присутна у скрипти. Затим тумачи сваки ред нашег писма. Након што идентификује сваку променљиву, замењује име променљиве њеном додељеном вредношћу. На крају крајева, он тумачи/покреће ту линију кода и наставља овај процес за сваки кодирани ред наше скрипте.

    НАПОМЕНА: Обе врсте променљивих у Басху (о којима смо разговарали) раде на терминалу као и на Басх скрипти. Погледајмо њихов рад на терминалу и Басху кроз једноставан пример:

    Пример: Позовите корисничко име према КСИЗ, његовој локацији на којој тренутно ради и верзији Басх Схелл-а коју користи за Басх скриптовање.

    1. Рад на терминалу

    Басх Вариаблес

    2. Рад на Басх Схелл-у

    Погледајте скрипту коју је именовао Басх_Вар у наставку:

    Басх Вариаблес

    У 3рдред скрипте , декларисали смо променљиву КОРИСНИЧКО ИМЕ да сачувате корисничко име КСИЗ као своју вредност.

    У последња два реда , одштампали смо жељену поруку користећи одјек команда.

    У овој поруци постоје две променљиве и једна команда. Сваком од њих претходи знак долара ($) где:

      КОРИСНИЧКО ИМЕје кориснички дефинисана варијабла за позивање корисничког имена,БАСХ_ВЕРСИОНје системски дефинисана променљива, коју љуска назива сама. Користи се за штампање верзије Басх Схелл-а,ОСИкоманда се користи за штампање тренутне локације корисника.

    За боље разумевање, креирајте ову скрипту пратећи дати код:

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

    Приказаће излаз као што можете видети на следећој слици:

    Излаз:

    Басх Вариаблес

    Постоји још неколико примера за вежбање варијабли и на терминалу и на Басх Схелл-у. Пратећи скуп правила (о коме се раније расправљало) имају праксу у вези са варијаблама као што следи:

    А. Коришћење терминала командне линије

    1. Подешавање променљивих

    Басх Вариаблес

    2. Читање и референцирање варијабли

    Басх Вариаблес

    3. Неважеће варијабле

    Басх Вариаблес

    4. Комбиновање две стринг променљиве

    Басх Вариаблес

    5. Повезивање стрингова са променљивим

    Басх Вариаблес

    НАПОМЕНА: Не користите појединачне наводнике за комбиновање две променљиве, као ни за спајање низова са променљивим. Тако да ако спојите низове тако што ћете их ставити у појединачне наводнике, онда ће бити неуспешно читање као што можете видети на слици датој испод:

    Басх Вариаблес

    Б. Коришћење Басх скрипте:

    То је пример за комбинујући Стринг променљиве.

    Басх Вариаблес

    Излаз:

    Басх Вариаблес

    Аргументи командне линије

    Аргументи командне линије се користе да би скрипту учинили динамичнијом прослеђивањем уноса у код. Ми прослеђујемо ове аргументе током извршавања скрипте у следећем облику:

     ./script_name arg1 arg2 arg3..... 

    Не би требало да постоји размак између имена скрипте и свих аргумената који се преносе.

    Како користити аргументе командне линије?

    У Басх Схелл-у, они се користе са референцама на следеће подразумеване параметре или посебне променљиве.

      $0специфицира име скрипте која се позива.$1-$9чува имена првих 9 аргумената или се може користити као позиције аргумената.$#специфицира укупан број (број) аргумената прослеђених скрипти.$*складишти све аргументе командне линије тако што их спаја.$@чува листу аргумената као низ.$?специфицира ИД процеса тренутне скрипте.$$специфицира излазни статус последње команде или последњег процеса извршења.$!приказује ИД последњег позадинског посла.

    Следе две методе које користимо за прослеђивање аргумената командне линије:

    Метод 1: Коришћење броја позиције

    То је први начин приступа аргументима коришћењем подразумеваних параметара ($1...$9). Слика испод то објашњава:

    Басх Вариаблес

    Излаз:

    Басх Вариаблес

    Метод 2: Коришћење низа.

    То је други начин прослеђивања аргумената као низа. Пратите дати алгоритам да бисте применили овај метод.

    Корак 1: Направите Басх скрипту.

    Корак 2: Декларисајте име било које променљиве и доделите њену вредност као у следећем облику:

     variable_name=('$@') 

    Где $@ је подразумевани аргумент који се користи за чување аргумената (ми прослеђујемо) као низ.

    Корак 3: Прикажите аргументе тако што ћете дефинисати њихов индекс низа у следећем облику:

     ${variable_name[i]} 

    4. корак: Сачувајте и затворите скрипту.

    5. корак: Извршите скрипту преношењем аргумената.

    Погледајте следећи програм:

    Програм:

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

    На Басх конзоли:

    Басх Вариаблес

    Излаз:

    Басх Вариаблес

    Замена команди

    Према званичној документацији Басх

    „Замена команде дозвољава излаз команде да замени саму команду. Басх изводи проширење тако што извршава команду у окружењу подљуске и замењује замену команде стандардним излазом команде, са брисањем свих нових редова на крају. Уграђени нови редови се не бришу, али могу бити уклоњени током раздвајања речи.'

    Замена команде се односи на проширење које Басх изводи за нас. Узима излаз команде Басх, складишти у променљивој (генерално) и приказује са ехоом.

    Замена команди нуди флексибилност података у погледу скриптовања и додељивања променљивих. Једноставан је и лак за излаз из једне командне линије. У случају да излаз иде преко неколико редова, онда се нови завршни редови уклањају, а цео садржај излаза завршава у једном реду.

    Погледајте синтаксу за употребу:

    Синтакса

    Класични облик замене команди у променљивој или замени команде је коришћење повратних наводника (`...`), као што је дато у наставку:

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

    Сада вршимо замену команди тако што стављамо команде у заграде (претходи им знак долара ($)). Погледај:

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

    Дакле, хајде да урадимо замену команди примером према дискусији.

    У овом примеру замењујемо једну команду лс у променљивој. Погледајте терминал.

    Басх Вариаблес

    Линија 1: Без замене команде, излаз се проширује у више редова.

    2. и 3. ред: Са заменом команде, излаз се завршава на једној линији (уштеђен простор уклањањем нових заосталих линија).

    Следи Басх скрипта за тестирање замене команде.

    Програм:

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

    Погледајте Басх конзолу:

    Басх Вариаблес

    Излаз:

    Басх Вариаблес
    специфицира име скрипте која се позива.-чува имена првих 9 аргумената или се може користити као позиције аргумената.$#специфицира укупан број (број) аргумената прослеђених скрипти.$*складишти све аргументе командне линије тако што их спаја.$@чува листу аргумената као низ.$?специфицира ИД процеса тренутне скрипте.$$специфицира излазни статус последње команде или последњег процеса извршења.$!приказује ИД последњег позадинског посла.

Следе две методе које користимо за прослеђивање аргумената командне линије:

Метод 1: Коришћење броја позиције

То је први начин приступа аргументима коришћењем подразумеваних параметара (...). Слика испод то објашњава:

Басх Вариаблес

Излаз:

Басх Вариаблес

Метод 2: Коришћење низа.

То је други начин прослеђивања аргумената као низа. Пратите дати алгоритам да бисте применили овај метод.

Корак 1: Направите Басх скрипту.

Корак 2: Декларисајте име било које променљиве и доделите њену вредност као у следећем облику:

 variable_name=('$@') 

Где $@ је подразумевани аргумент који се користи за чување аргумената (ми прослеђујемо) као низ.

Корак 3: Прикажите аргументе тако што ћете дефинисати њихов индекс низа у следећем облику:

 ${variable_name[i]} 

4. корак: Сачувајте и затворите скрипту.

5. корак: Извршите скрипту преношењем аргумената.

Погледајте следећи програм:

Програм:

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

На Басх конзоли:

Басх Вариаблес

Излаз:

Басх Вариаблес

Замена команди

Према званичној документацији Басх

„Замена команде дозвољава излаз команде да замени саму команду. Басх изводи проширење тако што извршава команду у окружењу подљуске и замењује замену команде стандардним излазом команде, са брисањем свих нових редова на крају. Уграђени нови редови се не бришу, али могу бити уклоњени током раздвајања речи.'

Замена команде се односи на проширење које Басх изводи за нас. Узима излаз команде Басх, складишти у променљивој (генерално) и приказује са ехоом.

Замена команди нуди флексибилност података у погледу скриптовања и додељивања променљивих. Једноставан је и лак за излаз из једне командне линије. У случају да излаз иде преко неколико редова, онда се нови завршни редови уклањају, а цео садржај излаза завршава у једном реду.

Погледајте синтаксу за употребу:

Синтакса

Класични облик замене команди у променљивој или замени команде је коришћење повратних наводника (`...`), као што је дато у наставку:

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

Сада вршимо замену команди тако што стављамо команде у заграде (претходи им знак долара ($)). Погледај:

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

Дакле, хајде да урадимо замену команди примером према дискусији.

У овом примеру замењујемо једну команду лс у променљивој. Погледајте терминал.

Басх Вариаблес

Линија 1: Без замене команде, излаз се проширује у више редова.

2. и 3. ред: Са заменом команде, излаз се завршава на једној линији (уштеђен простор уклањањем нових заосталих линија).

Следи Басх скрипта за тестирање замене команде.

Програм:

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

Погледајте Басх конзолу:

Басх Вариаблес

Излаз:

Басх Вариаблес