logo

Bash променливи

Променливите са съществената част от програмирането или можем да кажем, че те са духът на езика за програмиране. Променливите указват местоположението на паметта чрез знаци, цифри и букви. Те се използват за препращане и манипулиране в компютърна програма.

Какви са променливите?

Променливите са контейнери, които съхраняват данни или полезна част от информацията като стойност вътре в тях. По-долу е синтаксисът за променлива:

 Variable_name =value 

Променливата е комбинирана форма от две думи, т.е. vary + able, което означава, че нейната стойност може да се променя и може да се използва многократно.

формула на масон

Променливата е известна като временно хранилище за всякакъв вид данни като цяло число, float, char и т.н. Името на променлива може да включва азбуки, цифри и долна черта , а името му може да започва само с букви и долна черта.

Забележка: Не можем да дефинираме име на променлива, започващо с която и да е цифра.

Какво представляват Bash променливите?

Не можем да използваме bash променливи, без да имаме правилната информация ( синтаксис, типове данни, типове, работа ) за това, така че нека да разгледаме този кратък урок, за да имаме подходящ преглед на Bash променливите.

Първо, запознайте се със синтаксиса.

Синтаксис:

 Variable_name=value 

Набор от правила за дефиниране на Bash променливи:

  1. Поставете пред името на променливата знака за долар ($), докато четете или отпечатвате променлива.
  2. Изключете знака за долар ($), докато задавате променлива с произволна стойност.
  3. Името на променлива може да бъде буквено-цифрово или може да бъде написано с долна черта (_).
  4. Името на променлива е чувствително към малки и големи букви: x и X се считат за две различни променливи.
  5. Името на променливата може да бъде написано с UPPER_CASE или LOWER_CASE букви или комбинация от двете, както желаете.
  6. Променлива може да бъде поставена навсякъде в Bash скрипт или в командния ред, тъй като по време на изпълнение Bash ще я замени с присвоената й стойност. Това стана възможно поради извършването на заместване преди изпълнение на командата.
  7. Не трябва да има интервал от двете страни на знака за равенство (=) между името на променливата и нейната стойност. Следват някои примери за Невалидни променливи с бели интервали (обозначени с точки ...) между тях, както е дадено по-долу:
    променлива1=...променлива1
    променлива2...=променлива2
    променлива3...=...променлива3
  8. Няма нужда от използване на кавички, единични или двойни, за дефиниране на променлива със стойност от един символ, като например var1=променлива . За да въведете няколко думи или низ като един елемент в променлива, тогава използвайте кавички, за да затворите съдържанието си в тази променлива.
    • Единични кавички ('') помагат за третирането на всеки символ.
    • Двойните кавички ('') помагат да се направи заместването.

Типове данни

Във формалните езици за програмиране трябва да дефинирате типа данни на всяка променлива по време на декларирането на променливата. Например:

 int year=2012 char comp_name='jtp' 

Но в случай на Bash, не е нужно да дефинирате типа данни на която и да е променлива по време на декларирането на променливата. Bash променливите са нетипизиран , което означава, че просто въведете името на променливата, като присвоите нейната стойност, и тя автоматично ще вземе предвид този тип данни.

Така че, ако присвоите някаква числова стойност на променливата, тя ще работи като цяло число и ако присвоите символна стойност на променливата, тогава тя ще бъде String.

 year=2012 comp_name=jtp 

използвайки командата echo, прочетете ги, като присвоите знак $ преди името им, като напр

ехо $година
echo $name

Типове Bash променливи

Има два типа променливи в една обвивка или всяка UNIX система.

  1. Дефинирани от системата променливи
  2. Дефинирани от потребителя променливи

1. Дефинирани от системата променливи: Това са предварително дефинираните променливи, тъй като те се създават и поддържат от самата операционна система LINUX. Тяхната стандартна конвенция е, че обикновено те се дефинират с главни букви, т.е. UPPER_CASE. Така че винаги, когато видите променлива, дефинирана в главни букви, най-вероятно това са системно дефинираните променливи.

Това са следните дефинирани от системата променливи, както е дадено по-долу:

1. БАШ представлява името на Shell.

Пример:

 BASH=/usr/bin/bash 

2. BASH_VERSION указва версията на обвивката, която Bash поддържа.

Пример:

 BASH_VERSION=4.2.46(2) 

3. КОЛОНИ посочете бр. от колони за нашия екран.

Пример:

 COLUMNS=80 

4. ДОМ указва началната директория за потребителя.

Пример:

 HOME=/home/jatpoint 

5. LOGNAME указва потребителското име за регистриране.

Пример:

 LOGNAME=javatpoint 

6. OSTYPE казва вида на ОС.

Пример:

 OSTYPE=linux-gnu 

7. Увреждания представлява текущата работна директория.

Пример:

 PWD=/home/javatpoint 

8. ПОТРЕБИТЕЛСКО ИМЕ указва името на влезлия в момента потребител.

Пример:

 USERNAME=javatpoint 

За да знаете списъка с тези променливи във вашата система, въведете командите комплект, окр , и printenv на терминала на командния ред, както следва:

1. Въвеждане на комплект команда.

Изход:

Bash променливи

2. Въвеждане на околна среда команда

Изход:

Bash променливи

3. Въведете командата printenv

Изход:

Bash променливи

Нека извикаме тези променливи чрез Bash Shell. Следват дадените стъпки:

Етап 1: Създайте скрипт, наречен от Bash_sdvar, и въведете следния код в Bash Console, както следва:

 #! /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. Вижте конзолата Bash, дадена по-долу:

Bash променливи

Стъпка 3. Запазете и изпълнете скрипта. Той ще покаже изхода, както можете да видите на фигурата по-долу.

Изход:

Bash променливи

2. Дефинирани от потребителя променливи: Тези променливи се създават и поддържат от потребителя. Обикновено тези типове променливи са дефинирани в LOWER_CASES. Няма стриктно правило тези променливи да се записват с малки букви. Можем да ги пишем и с главни букви.

Нека създадем Bash скрипт, за да дефинираме тези променливи. Следвайте посочените по-долу стъпки:

Етап 1. Създайте скрипт, наречен от bash_yard и въведете следния код на Bash Console:

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

Стъпка 2. Вижте кода на Bash Console.

Bash променливи

Стъпка 3. Запазете и изпълнете скрипта.

Изход:

Bash променливи

Работа с Bash променливи

След като направихме основна демонстрация на променливите, нека преминем към това как работят?

Има две действия, които обикновено извършваме за променлива в Bash, както е дадено по-долу:

  • задаване на стойност за променлива
  • четене на стойността за него.

Стойността на променлива може да бъде зададена по различни начини, като най-често срещаният начин е да се зададе директно стойността. За да прочетем променлива, можем да поставим нейното име (префикс със знак $) навсякъде в скрипта.

Bash първо проверява всички имена на променливи, сякаш присъстват в скрипта. След това интерпретира всеки ред от нашия скрипт. След като идентифицира всяка променлива, тя замества името на променлива с присвоената й стойност. В края на краищата, той интерпретира/изпълнява този ред от код и продължава този процес за всеки кодиран ред от нашия скрипт.

ЗАБЕЛЕЖКА: И двата вида променливи в Bash (които обсъдихме) работят на терминала, както и на Bash скрипта. Нека видим как работят върху терминала и Bash чрез ясен пример:

Пример: Обадете се на потребителско име по XYZ, неговото местоположение, на което работи в момента, и версията на Bash Shell, която използва за Bash Scripting.

1. Работа на терминал

Bash променливи

2. Работа върху Bash Shell

Вижте скрипта, наречен от Bash_Var, даден по-долу:

Bash променливи

В 3rdлиния на скрипта , декларирахме променлива USER_NAME за съхраняване на потребителското име XYZ като негова стойност.

В последните два реда , отпечатахме желаното съобщение с помощта на ехо команда.

В това съобщение има две променливи и една команда. Всеки един от тях е предшестван от знака за долар ($), където:

    USER_NAMEе дефинирана от потребителя променлива за извикване на потребителското име,BASH_VERSIONе системно дефинирана променлива, която shell се самоизвиква. Използва се за отпечатване на версията на Bash Shell,хора с уврежданиякомандата се използва за отпечатване на текущото местоположение на потребителя.

За по-добро разбиране създайте този скрипт, като следвате дадения код:

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

Той ще покаже резултата, както можете да видите на следното изображение:

Изход:

Bash променливи

Има още няколко примера за практикуване на променливи както на терминал, така и на Bash Shell. Като следвате набор от правила (обсъдени по-рано) имат практика върху променливите, както следва:

A. Използване на терминал на командния ред

1. Задаване на променливите

Bash променливи

2. Четене и рефериране на променливите

Bash променливи

3. Невалидни променливи

Bash променливи

4. Комбиниране на две низови променливи

Bash променливи

5. Конкатениране на низове с променливи

Bash променливи

ЗАБЕЛЕЖКА: Не използвайте единични кавички за комбиниране на две променливи, както и за конкатенация на низове с променливи. Така че, ако свържете низове, като ги затворите в единични кавички, тогава ще бъде грешка да ги прочетете, както можете да видите на изображението, дадено по-долу:

Bash променливи

B. Използване на Bash скрипт:

Това е пример за комбиниране на променливите String.

Bash променливи

Изход:

Bash променливи

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

Аргументите на командния ред се използват, за да направят скрипта по-динамичен чрез предаване на входни данни към кода. Предаваме тези аргументи по време на изпълнение на скрипта като следната форма:

 ./script_name arg1 arg2 arg3..... 

Не трябва да има интервал между името на скрипта и всички преминаващи аргументи.

Как да използвам аргументите на командния ред?

В Bash Shell те се използват с препратка към следните параметри по подразбиране или специални променливи.

    Променливите са съществената част от програмирането или можем да кажем, че те са духът на езика за програмиране. Променливите указват местоположението на паметта чрез знаци, цифри и букви. Те се използват за препращане и манипулиране в компютърна програма.

    Какви са променливите?

    Променливите са контейнери, които съхраняват данни или полезна част от информацията като стойност вътре в тях. По-долу е синтаксисът за променлива:

     Variable_name =value 

    Променливата е комбинирана форма от две думи, т.е. vary + able, което означава, че нейната стойност може да се променя и може да се използва многократно.

    Променливата е известна като временно хранилище за всякакъв вид данни като цяло число, float, char и т.н. Името на променлива може да включва азбуки, цифри и долна черта , а името му може да започва само с букви и долна черта.

    Забележка: Не можем да дефинираме име на променлива, започващо с която и да е цифра.

    Какво представляват Bash променливите?

    Не можем да използваме bash променливи, без да имаме правилната информация ( синтаксис, типове данни, типове, работа ) за това, така че нека да разгледаме този кратък урок, за да имаме подходящ преглед на Bash променливите.

    Първо, запознайте се със синтаксиса.

    Синтаксис:

     Variable_name=value 

    Набор от правила за дефиниране на Bash променливи:

    1. Поставете пред името на променливата знака за долар ($), докато четете или отпечатвате променлива.
    2. Изключете знака за долар ($), докато задавате променлива с произволна стойност.
    3. Името на променлива може да бъде буквено-цифрово или може да бъде написано с долна черта (_).
    4. Името на променлива е чувствително към малки и големи букви: x и X се считат за две различни променливи.
    5. Името на променливата може да бъде написано с UPPER_CASE или LOWER_CASE букви или комбинация от двете, както желаете.
    6. Променлива може да бъде поставена навсякъде в Bash скрипт или в командния ред, тъй като по време на изпълнение Bash ще я замени с присвоената й стойност. Това стана възможно поради извършването на заместване преди изпълнение на командата.
    7. Не трябва да има интервал от двете страни на знака за равенство (=) между името на променливата и нейната стойност. Следват някои примери за Невалидни променливи с бели интервали (обозначени с точки ...) между тях, както е дадено по-долу:
      променлива1=...променлива1
      променлива2...=променлива2
      променлива3...=...променлива3
    8. Няма нужда от използване на кавички, единични или двойни, за дефиниране на променлива със стойност от един символ, като например var1=променлива . За да въведете няколко думи или низ като един елемент в променлива, тогава използвайте кавички, за да затворите съдържанието си в тази променлива.
      • Единични кавички ('') помагат за третирането на всеки символ.
      • Двойните кавички ('') помагат да се направи заместването.

    Типове данни

    Във формалните езици за програмиране трябва да дефинирате типа данни на всяка променлива по време на декларирането на променливата. Например:

     int year=2012 char comp_name='jtp' 

    Но в случай на Bash, не е нужно да дефинирате типа данни на която и да е променлива по време на декларирането на променливата. Bash променливите са нетипизиран , което означава, че просто въведете името на променливата, като присвоите нейната стойност, и тя автоматично ще вземе предвид този тип данни.

    Така че, ако присвоите някаква числова стойност на променливата, тя ще работи като цяло число и ако присвоите символна стойност на променливата, тогава тя ще бъде String.

     year=2012 comp_name=jtp 

    използвайки командата echo, прочетете ги, като присвоите знак $ преди името им, като напр

    ехо $година
    echo $name

    Типове Bash променливи

    Има два типа променливи в една обвивка или всяка UNIX система.

    1. Дефинирани от системата променливи
    2. Дефинирани от потребителя променливи

    1. Дефинирани от системата променливи: Това са предварително дефинираните променливи, тъй като те се създават и поддържат от самата операционна система LINUX. Тяхната стандартна конвенция е, че обикновено те се дефинират с главни букви, т.е. UPPER_CASE. Така че винаги, когато видите променлива, дефинирана в главни букви, най-вероятно това са системно дефинираните променливи.

    Това са следните дефинирани от системата променливи, както е дадено по-долу:

    1. БАШ представлява името на Shell.

    Пример:

     BASH=/usr/bin/bash 

    2. BASH_VERSION указва версията на обвивката, която Bash поддържа.

    Пример:

     BASH_VERSION=4.2.46(2) 

    3. КОЛОНИ посочете бр. от колони за нашия екран.

    Пример:

     COLUMNS=80 

    4. ДОМ указва началната директория за потребителя.

    Пример:

     HOME=/home/jatpoint 

    5. LOGNAME указва потребителското име за регистриране.

    Пример:

     LOGNAME=javatpoint 

    6. OSTYPE казва вида на ОС.

    Пример:

     OSTYPE=linux-gnu 

    7. Увреждания представлява текущата работна директория.

    Пример:

     PWD=/home/javatpoint 

    8. ПОТРЕБИТЕЛСКО ИМЕ указва името на влезлия в момента потребител.

    Пример:

     USERNAME=javatpoint 

    За да знаете списъка с тези променливи във вашата система, въведете командите комплект, окр , и printenv на терминала на командния ред, както следва:

    1. Въвеждане на комплект команда.

    Изход:

    Bash променливи

    2. Въвеждане на околна среда команда

    Изход:

    Bash променливи

    3. Въведете командата printenv

    Изход:

    Bash променливи

    Нека извикаме тези променливи чрез Bash Shell. Следват дадените стъпки:

    Етап 1: Създайте скрипт, наречен от Bash_sdvar, и въведете следния код в Bash Console, както следва:

     #! /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. Вижте конзолата Bash, дадена по-долу:

    Bash променливи

    Стъпка 3. Запазете и изпълнете скрипта. Той ще покаже изхода, както можете да видите на фигурата по-долу.

    Изход:

    Bash променливи

    2. Дефинирани от потребителя променливи: Тези променливи се създават и поддържат от потребителя. Обикновено тези типове променливи са дефинирани в LOWER_CASES. Няма стриктно правило тези променливи да се записват с малки букви. Можем да ги пишем и с главни букви.

    Нека създадем Bash скрипт, за да дефинираме тези променливи. Следвайте посочените по-долу стъпки:

    Етап 1. Създайте скрипт, наречен от bash_yard и въведете следния код на Bash Console:

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

    Стъпка 2. Вижте кода на Bash Console.

    Bash променливи

    Стъпка 3. Запазете и изпълнете скрипта.

    Изход:

    Bash променливи

    Работа с Bash променливи

    След като направихме основна демонстрация на променливите, нека преминем към това как работят?

    Има две действия, които обикновено извършваме за променлива в Bash, както е дадено по-долу:

    • задаване на стойност за променлива
    • четене на стойността за него.

    Стойността на променлива може да бъде зададена по различни начини, като най-често срещаният начин е да се зададе директно стойността. За да прочетем променлива, можем да поставим нейното име (префикс със знак $) навсякъде в скрипта.

    Bash първо проверява всички имена на променливи, сякаш присъстват в скрипта. След това интерпретира всеки ред от нашия скрипт. След като идентифицира всяка променлива, тя замества името на променлива с присвоената й стойност. В края на краищата, той интерпретира/изпълнява този ред от код и продължава този процес за всеки кодиран ред от нашия скрипт.

    ЗАБЕЛЕЖКА: И двата вида променливи в Bash (които обсъдихме) работят на терминала, както и на Bash скрипта. Нека видим как работят върху терминала и Bash чрез ясен пример:

    Пример: Обадете се на потребителско име по XYZ, неговото местоположение, на което работи в момента, и версията на Bash Shell, която използва за Bash Scripting.

    1. Работа на терминал

    Bash променливи

    2. Работа върху Bash Shell

    Вижте скрипта, наречен от Bash_Var, даден по-долу:

    Bash променливи

    В 3rdлиния на скрипта , декларирахме променлива USER_NAME за съхраняване на потребителското име XYZ като негова стойност.

    В последните два реда , отпечатахме желаното съобщение с помощта на ехо команда.

    В това съобщение има две променливи и една команда. Всеки един от тях е предшестван от знака за долар ($), където:

      USER_NAMEе дефинирана от потребителя променлива за извикване на потребителското име,BASH_VERSIONе системно дефинирана променлива, която shell се самоизвиква. Използва се за отпечатване на версията на Bash Shell,хора с уврежданиякомандата се използва за отпечатване на текущото местоположение на потребителя.

    За по-добро разбиране създайте този скрипт, като следвате дадения код:

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

    Той ще покаже резултата, както можете да видите на следното изображение:

    Изход:

    Bash променливи

    Има още няколко примера за практикуване на променливи както на терминал, така и на Bash Shell. Като следвате набор от правила (обсъдени по-рано) имат практика върху променливите, както следва:

    A. Използване на терминал на командния ред

    1. Задаване на променливите

    Bash променливи

    2. Четене и рефериране на променливите

    Bash променливи

    3. Невалидни променливи

    Bash променливи

    4. Комбиниране на две низови променливи

    Bash променливи

    5. Конкатениране на низове с променливи

    Bash променливи

    ЗАБЕЛЕЖКА: Не използвайте единични кавички за комбиниране на две променливи, както и за конкатенация на низове с променливи. Така че, ако свържете низове, като ги затворите в единични кавички, тогава ще бъде грешка да ги прочетете, както можете да видите на изображението, дадено по-долу:

    Bash променливи

    B. Използване на Bash скрипт:

    Това е пример за комбиниране на променливите String.

    Bash променливи

    Изход:

    Bash променливи

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

    Аргументите на командния ред се използват, за да направят скрипта по-динамичен чрез предаване на входни данни към кода. Предаваме тези аргументи по време на изпълнение на скрипта като следната форма:

     ./script_name arg1 arg2 arg3..... 

    Не трябва да има интервал между името на скрипта и всички преминаващи аргументи.

    Как да използвам аргументите на командния ред?

    В Bash Shell те се използват с препратка към следните параметри по подразбиране или специални променливи.

      $0указва името на скрипта, който да бъде извикан.$1-$9съхранява имената на първите 9 аргумента или може да се използва като позиции на аргументите.$#указва общия брой (брой) на аргументите, предадени на скрипта.$*съхранява всички аргументи на командния ред, като ги обединява.$@съхранява списъка с аргументи като масив.$?указва ID на процеса на текущия скрипт.$$указва състоянието на изход на последната команда или последния процес на изпълнение.$!показва ID на последното фоново задание.

    Следват двата метода, които използваме за предаване на аргументи от командния ред:

    Метод 1: Използване на номер на позиция

    Това е първият начин за достъп до аргументите чрез използване на параметрите по подразбиране ($1...$9). Изображението по-долу го обяснява:

    Bash променливи

    Изход:

    Bash променливи

    Метод 2: Използване на масив.

    Това е вторият начин за предаване на аргументите като масив. Следвайте дадения алгоритъм, за да приложите този метод.

    Етап 1: Създайте Bash скрипт.

    Стъпка 2: Декларирайте произволно име на променлива и задайте стойността му като $a в следната форма:

     variable_name=('$@') 

    Където $@ е аргументът по подразбиране, който се използва за съхраняване на аргументите (предаваме) като масив.

    Стъпка 3: Покажете аргументите, като дефинирате техния индекс на масив в следната форма:

     ${variable_name[i]} 

    Стъпка 4: Запазете и затворете скрипта.

    Стъпка 5: Изпълнете скрипта чрез предаване на аргументите.

    Вижте следната програма:

    програма:

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

    На Bash Console:

    Bash променливи

    Изход:

    Bash променливи

    Заместване на команди

    Според официалната документация на Bash

    'Command Substitution позволява изхода на команда да замени самата команда. Bash извършва разширяването, като изпълнява командата в среда на подобвивка и замества заместването на командата със стандартния изход на командата, като всички завършващи нови редове са изтрити. Вградените нови редове не се изтриват, но могат да бъдат премахнати по време на разделянето на думи.'

    Заместването на команда се отнася до разширение, което Bash изпълнява вместо нас. Той взема изхода на командата Bash, съхранява в променлива (обикновено) и показва обратно с ехо.

    Заместване на команди предлага гъвкавост на данните по отношение на скриптове и присвояване на променливи. Това е просто и лесно за извеждане на един команден ред. В случай, че изходът преминава през няколко реда, тогава новите завършващи редове се премахват и пълното съдържание на изхода завършва на един ред.

    Вижте синтаксиса за употреба:

    Синтаксис

    Класическата форма на заместване на команди в променлива или заместване на команда използва обратни кавички (`...`), както е дадено по-долу:

     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) 

    И така, нека направим заместване на команда с пример според дискусията.

    В този пример заместваме една команда ls в променлива. Вижте терминала.

    Bash променливи

    Ред 1: Без заместване на команда изходът се разширява в няколко реда.

    Ред 2 и 3: При заместване на команда изходът завършва на един ред (спестено място чрез премахване на новозакъснели редове).

    Следва Bash скриптът за тестване на заместването на командата.

    програма:

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

    Вижте Bash Console:

    Bash променливи

    Изход:

    Bash променливи
    указва името на скрипта, който да бъде извикан.-съхранява имената на първите 9 аргумента или може да се използва като позиции на аргументите.$#указва общия брой (брой) на аргументите, предадени на скрипта.$*съхранява всички аргументи на командния ред, като ги обединява.$@съхранява списъка с аргументи като масив.$?указва ID на процеса на текущия скрипт.$$указва състоянието на изход на последната команда или последния процес на изпълнение.$!показва ID на последното фоново задание.

Следват двата метода, които използваме за предаване на аргументи от командния ред:

Метод 1: Използване на номер на позиция

Това е първият начин за достъп до аргументите чрез използване на параметрите по подразбиране (...). Изображението по-долу го обяснява:

Bash променливи

Изход:

Bash променливи

Метод 2: Използване на масив.

Това е вторият начин за предаване на аргументите като масив. Следвайте дадения алгоритъм, за да приложите този метод.

Етап 1: Създайте Bash скрипт.

Стъпка 2: Декларирайте произволно име на променлива и задайте стойността му като $a в следната форма:

 variable_name=('$@') 

Където $@ е аргументът по подразбиране, който се използва за съхраняване на аргументите (предаваме) като масив.

Стъпка 3: Покажете аргументите, като дефинирате техния индекс на масив в следната форма:

 ${variable_name[i]} 

Стъпка 4: Запазете и затворете скрипта.

Стъпка 5: Изпълнете скрипта чрез предаване на аргументите.

Вижте следната програма:

програма:

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

На Bash Console:

Bash променливи

Изход:

Bash променливи

Заместване на команди

Според официалната документация на Bash

'Command Substitution позволява изхода на команда да замени самата команда. Bash извършва разширяването, като изпълнява командата в среда на подобвивка и замества заместването на командата със стандартния изход на командата, като всички завършващи нови редове са изтрити. Вградените нови редове не се изтриват, но могат да бъдат премахнати по време на разделянето на думи.'

Заместването на команда се отнася до разширение, което Bash изпълнява вместо нас. Той взема изхода на командата Bash, съхранява в променлива (обикновено) и показва обратно с ехо.

Заместване на команди предлага гъвкавост на данните по отношение на скриптове и присвояване на променливи. Това е просто и лесно за извеждане на един команден ред. В случай, че изходът преминава през няколко реда, тогава новите завършващи редове се премахват и пълното съдържание на изхода завършва на един ред.

Вижте синтаксиса за употреба:

Синтаксис

Класическата форма на заместване на команди в променлива или заместване на команда използва обратни кавички (`...`), както е дадено по-долу:

 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) 

И така, нека направим заместване на команда с пример според дискусията.

В този пример заместваме една команда ls в променлива. Вижте терминала.

Bash променливи

Ред 1: Без заместване на команда изходът се разширява в няколко реда.

Ред 2 и 3: При заместване на команда изходът завършва на един ред (спестено място чрез премахване на новозакъснели редове).

Следва Bash скриптът за тестване на заместването на командата.

програма:

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

Вижте Bash Console:

Bash променливи

Изход:

Bash променливи