Променљиве су суштински део програмирања, или можемо рећи да су дух програмског језика. Променљиве одређују меморијску локацију кроз знакове, нумеричке и алфанумеричке. Користе се за референцирање и за манипулацију у компјутерском програму.
Које су варијабле?
Променљиве су контејнери који чувају податке или корисне информације као вредност унутар њих. Испод је синтакса за променљиву:
Variable_name =value
Променљива је комбиновани облик од две речи, тј. вари +абле, што значи да се њена вредност може мењати и користити више пута.
гимп извоз као јпг
Променљива је позната као привремено складиште за било коју врсту података као што су цео број, флоат, цхар, итд. Име променљиве може укључивати абецеде, цифре и доње црте , а његово име може да почне само са алфабетом и доњом цртом.
Напомена: Не можемо дефинисати име променљиве које почиње било којом цифром.
Шта су Басх варијабле?
Не можемо да користимо басх променљиве без одговарајућих информација ( синтакса, типови података, типови, радни ) о томе, па хајде да прођемо кроз овај кратки водич за одговарајући преглед Басх променљивих.
У почетку, познајте синтаксу.
Синтакса:
Variable_name=value
Постављена правила за дефинисање Басх променљивих:
- Додајте префикс имену променљиве знаком долара ($) док читате или штампате променљиву.
- Оставите знак долара ($) док постављате променљиву са било којом вредношћу.
- Име променљиве може бити алфанумеричко или може бити написано са доњом цртом (_).
- Име променљиве је осетљиво на велика и мала слова: к и Кс се сматрају две различите променљиве.
- име променљиве може бити написано или у УППЕР_ЦАСЕ или ЛОВЕР_ЦАСЕ словима или мешавина оба како желите.
- Променљива се може поставити било где у Басх скрипти или на командној линији, јер ће је Басх за време извршавања заменити њеном додељеном вредношћу. То је постало могуће због вршења замене пре покретања команде.
- Не би требало да постоји размак са обе стране знака једнакости (=) између имена променљиве и њене вредности. Следе неки примери Неважеће променљиве имају размаке (означене тачкама ...) између њих као што је дато у наставку:
вар1=...променљива1
вар2...=променљива2
вар3...=...променљива3 - Нема потребе да користите било какве наводнике, било једноструке или двоструке, да бисте дефинисали променљиву са једнознаковном вредношћу, као што је вар1=променљива . Да бисте унели више речи или стринг као једну ставку у променљивој, онда користите наводнике за затварање вашег садржаја у ту променљиву.
- Једноструки наводник ('') помаже да се третира сваки знак.
- Двоструки наводник ('') помаже да се изврши замена.
Типови података
У формалним програмским језицима, морате дефинисати тип података било које променљиве у време декларације променљиве. На пример:
int year=2012 char comp_name='jtp'
Али у случају Басх-а, не морате да дефинишете тип података било које променљиве у време декларације променљиве. Басх варијабле су неоткуцана , што значи да само укуцајте име променљиве тако што ћете јој доделити вредност и аутоматски ће узети у обзир тај тип података.
Тако да ако променљивој доделите било коју нумеричку вредност, она ће радити као цео број, а ако променљивој доделите вредност карактера, онда ће то бити Стринг.
year=2012 comp_name=jtp
користећи команду ецхо, прочитајте их тако што ћете доделити знак $ испред њиховог имена, као нпр
ехо $година
ецхо $наме
Типови Басх променљивих
Постоје две врсте променљивих у љусци или било ком УНИКС систему.
- Системски дефинисане променљиве
- Кориснички дефинисане променљиве
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.....
Не би требало да постоји размак између имена скрипте и свих аргумената који се преносе.
Како користити аргументе командне линије?
У Басх Схелл-у, они се користе са референцама на следеће подразумеване параметре или посебне променљиве.
- Додајте префикс имену променљиве знаком долара ($) док читате или штампате променљиву.
- Оставите знак долара ($) док постављате променљиву са било којом вредношћу.
- Име променљиве може бити алфанумеричко или може бити написано са доњом цртом (_).
- Име променљиве је осетљиво на велика и мала слова: к и Кс се сматрају две различите променљиве.
- име променљиве може бити написано или у УППЕР_ЦАСЕ или ЛОВЕР_ЦАСЕ словима или мешавина оба како желите.
- Променљива се може поставити било где у Басх скрипти или на командној линији, јер ће је Басх за време извршавања заменити њеном додељеном вредношћу. То је постало могуће због вршења замене пре покретања команде.
- Не би требало да постоји размак са обе стране знака једнакости (=) између имена променљиве и њене вредности. Следе неки примери Неважеће променљиве имају размаке (означене тачкама ...) између њих као што је дато у наставку:
вар1=...променљива1
вар2...=променљива2
вар3...=...променљива3 - Нема потребе да користите било какве наводнике, било једноструке или двоструке, да бисте дефинисали променљиву са једнознаковном вредношћу, као што је вар1=променљива . Да бисте унели више речи или стринг као једну ставку у променљивој, онда користите наводнике за затварање вашег садржаја у ту променљиву.
- Једноструки наводник ('') помаже да се третира сваки знак.
- Двоструки наводник ('') помаже да се изврши замена.
- Системски дефинисане променљиве
- Кориснички дефинисане променљиве
- постављање вредности за променљиву
- читање вредности за то.
Променљиве су суштински део програмирања, или можемо рећи да су дух програмског језика. Променљиве одређују меморијску локацију кроз знакове, нумеричке и алфанумеричке. Користе се за референцирање и за манипулацију у компјутерском програму.
Које су варијабле?
Променљиве су контејнери који чувају податке или корисне информације као вредност унутар њих. Испод је синтакса за променљиву:
Variable_name =value
Променљива је комбиновани облик од две речи, тј. вари +абле, што значи да се њена вредност може мењати и користити више пута.
Променљива је позната као привремено складиште за било коју врсту података као што су цео број, флоат, цхар, итд. Име променљиве може укључивати абецеде, цифре и доње црте , а његово име може да почне само са алфабетом и доњом цртом.
Напомена: Не можемо дефинисати име променљиве које почиње било којом цифром.
Шта су Басх варијабле?
Не можемо да користимо басх променљиве без одговарајућих информација ( синтакса, типови података, типови, радни ) о томе, па хајде да прођемо кроз овај кратки водич за одговарајући преглед Басх променљивих.
У почетку, познајте синтаксу.
Синтакса:
Variable_name=value
Постављена правила за дефинисање Басх променљивих:
Типови података
У формалним програмским језицима, морате дефинисати тип података било које променљиве у време декларације променљиве. На пример:
int year=2012 char comp_name='jtp'
Али у случају Басх-а, не морате да дефинишете тип података било које променљиве у време декларације променљиве. Басх варијабле су неоткуцана , што значи да само укуцајте име променљиве тако што ћете јој доделити вредност и аутоматски ће узети у обзир тај тип података.
Тако да ако променљивој доделите било коју нумеричку вредност, она ће радити као цео број, а ако променљивој доделите вредност карактера, онда ће то бити Стринг.
year=2012 comp_name=jtp
користећи команду ецхо, прочитајте их тако што ћете доделити знак $ испред њиховог имена, као нпр
ехо $година
ецхо $наме
Типови Басх променљивих
Постоје две врсте променљивих у љусци или било ком УНИКС систему.
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.....
Не би требало да постоји размак између имена скрипте и свих аргумената који се преносе.
Како користити аргументе командне линије?
У Басх Схелл-у, они се користе са референцама на следеће подразумеване параметре или посебне променљиве.
Следе две методе које користимо за прослеђивање аргумената командне линије:
Метод 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
Погледајте Басх конзолу:
Излаз:
Следе две методе које користимо за прослеђивање аргумената командне линије:
Метод 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
Погледајте Басх конзолу:
Излаз: