соурце је згодна уграђена наредба љуске која прихвата аргументе, анализира команде у скрипти и извршава их у окружењу љуске. Садржај датотеке чита извор, а затим се прослеђује тумачу командног језика алата (ТЦЛ), који извршава команде.
Хајде да научимо како да користимо изворни код за извршавање команди и рад са окружењима љуске на Линук-у, заједно са кратким објашњењем како се разликује од басх команде.
Користите извор за извршавање команди у датотеци
Да бисте користили изворну команду, прво ћете морати да креирате узорак датотеке и попуните је неким командама љуске. Почните креирањем нове датотеке са команду додира. Отворите датотеку у уређивачу текста по вашем избору и напишите неколико основних команди љуске.
додирнутитест.ткт
витест.ткт# Напишите команде у текстуалну датотеку:
одјек "Здраво!"
пвд
лс
# Извор датотеке са извором или синтаксом тачке
. тест.ткт
извортекст.ткт
Напишите текстуалну датотеку и наставите да је проследите као аргумент изворној команди. Систем ће извршити команде у датотеци и вратити излаз.
Сада када знате основе коришћења извора, хајде да покушамо да променимо окружење љуске Басх. Међутим, пре него што наставите, морате имати темељно разумевање променљиве окружења у Линуку.
Користите изворну команду да ажурирате окружење Басх Схелл
На Линук-у, променљиве окружења су наслеђене, али непроменљиве. Ако извршите Басх схелл скрипту која мења променљиву окружења $ТЕСТ, скрипта ће покренути нову, форкед схелл процес, и модификација $ТЕСТ ће се одвијати унутар њега уместо оригиналног Басх-а Животна средина.
Подређени процес неће моћи да измени окружење родитељског процеса. Може само да мења своје окружење. Хајде да ово разумемо на практичном примеру:
извоз ТЕСТ="деб"
ви пример# Унесите ове команде у датотеку
извоз ТЕСТ="кревет"
одјек $ТЕСТ
# Напишите датотеку, учините је извршном, а затим је извршите
цхмод +к пример
./екампле # ово ће вратити "кревет"
одјек $ТЕСТ # ово ће вратити "деб"
Ево где изворна команда улази у игру. Са изворном командом, можете извршити скрипту у истом окружењу љуске, које би иначе било рачвано. Дакле, ако добијете скрипту која модификује променљиве окружења, она ће извршити промене за окружење љуске Басх.
Да бисте га тестирали, напишите команде у пољу кода изнад у нову датотеку и користите изворну команду уместо да је учините извршном.
# Креирајте нову датотеку и уредите је
ви тест фајл
. тест_филе
одјек $ТЕСТ # Ово ће вратити "кревет"
Као што видите, користећи изворну команду, могли сте да ажурирате променљиве окружења надређеног процеса. Ово је примарни случај употребе изворне команде, тј. за модификовање родитељског окружења.
То су сви кораци који су вам потребни да ажурирате окружење љуске Басх са изворном командом.
Разлика између Линук басх и изворних команди
Разлика између Линук басх и изворних команди је у томе што када извршите скрипту са басх командом, она говори Линуку кернел за креирање новог Басх процеса за читање и извршавање скрипте, копирање излаза у оригинални процес љуске и приказивање.
Али изворна команда је уграђена шкољка који чита и процењује датотеку у оквиру тренутног процеса љуске. Дакле, све промене направљене скриптом ће бити задржане у Басх љусци.
Решавање грешака у изворној команди
У неким Линук системима можете наићи на грешку „извор није пронађен“ док покушавате да користите команду извора. Ову грешку можете да исправите на два начина:
1. Промените Схелл
Неке љуске не подржавају изворну команду. У том случају, мораћете да промените окружење љуске помоћу цхсх -с ($вхицх схелл_наме) команда.
Покрените нови терминал после мења своју шкољку, и покушајте да користите изворну команду. Ако нова шкољка подржава изворе, онда би требало да ради беспрекорно.
2. Користите синтаксу тачка/тачка
Нека окружења љуске не подржавају "извор" синтакса али алтернатива ".„синтакса. Синтакса „извора“ је синоним за тачку у Басху. Али ово не функционише у ПОСИКС љусци, тако да за максималну компатибилност користите синтаксу тачке.
Основне Линук команде које треба да знате
Команде Линук љуске су одличан начин за интеракцију са системом помоћу терминала. Они су сама суштина коришћења *НИКС система.
Иако не морате да знате све команде, познавање неколико корисних ће се сигурно показати плодоносним док се упуштате дубоко у свет Линука.