източник е удобна вградена команда в shell, която приема аргументи, анализира команди в скрипт и ги изпълнява в средата на shell. Съдържанието на файла се чете по източник и след това се предава на интерпретатора на езика за команди на инструмента (TCL), който изпълнява командите.
Нека научим как да използваме източника за изпълнение на команди и работа с обвивка на Linux, заедно с кратко обяснение как се различава от командата bash.
Използвайте източник за изпълнение на команди във файл
За да използвате командата източник, първо трябва да създадете примерен файл и да го попълните с някои команди на обвивката. Започнете, като създадете нов файл с командата за докосване. Отворете файла в текстов редактор по ваш избор и напишете няколко основни команди на shell.
докосванетест.текст
viтест.текст# Напишете командите в текстовия файл:
ехо "Здравейте!"
pwd
ls
# Източник на файла със синтаксис източник или точка
. тест.текст
източниктекст.текст
Напишете текстовия файл и продължете да го предавате като аргумент на командата източник. Системата ще изпълни командите във файла и ще върне резултат.
Сега, след като знаете основите за това как да използвате източника, нека опитаме да променим средата на Bash shell. Въпреки това, преди да продължите, трябва да имате основно разбиране за променливи на средата в Linux.
Използвайте командата източник, за да актуализирате средата на Bash Shell
В Linux променливите на средата са наследени, но неизменни. Ако изпълните Bash shell скрипт, който променя променлива на средата $TEST, скриптът ще създаде нов, разклонен процес на обвивка и модификацията на $TEST ще се извърши в него вместо оригиналния Bash заобикаляща среда.
Дъщерният процес няма да може да променя средата на родителския процес. Може да променя само собствената си среда. Нека разберем това с практически пример:
експортиране TEST="деб"
vi пример# Въведете тези команди във файла
експортиране TEST="легло"
ехо $ТЕСТ
# Напишете файла, направете го изпълним и след това го изпълнете
chmod +x пример
./пример # това ще върне "легло"
ехо $ТЕСТ # това ще върне "deb"
Тук влиза в действие командата source. С командата източник можете да изпълните скрипт в същата обвивка, която иначе би била разклонена. Така че, ако получите скрипт, който променя променливите на средата, той ще направи промените за средата на обвивката на Bash.
За да го тествате, напишете командите в полето с код по-горе в нов файл и използвайте командата източник, вместо да я правите изпълнима.
# Създайте нов файл и го редактирайте
vi тест файл
. тестов_файл
ехо $ТЕСТ # Това ще върне "легло"
Както можете да видите, с помощта на командата source успяхте да актуализирате променливите на средата на родителския процес. Това е основният случай на използване на командата източник, т.е. за промяна на родителската среда.
Това са всички стъпки, от които се нуждаете, за да актуализирате средата на Bash shell с командата source.
Разлика между Linux bash и командите на източника
Разликата между Linux bash и командите на източника е, че когато изпълните скрипт с командата bash, той казва на Linux ядро, за да създадете нов Bash процес за четене и изпълнение на скрипта, копиране на изхода в оригиналния процес на обвивка и показването му.
Но командата източник е вградена черупка който чете и оценява файл в текущия процес на обвивката. Така че всички промени, направени от скрипта, ще бъдат запазени в обвивката на Bash.
Отстраняване на неизправности при командните грешки на източника
В някои Linux системи може да попаднете на грешка „източникът не е намерен“, докато се опитвате да използвате командата източник. Можете да коригирате тази грешка по два начина:
1. Сменете черупката
Някои черупки не поддържат командата източник. В такъв случай ще трябва да промените средата на обвивката си с chsh -s ($which shell_name) команда.
След това стартирайте нов терминал промяна на черупката вии опитайте да използвате командата източник. Ако новата обвивка поддържа сорсинг, тогава трябва да работи безупречно.
2. Използвайте синтаксиса точка/точка
Някои шел среди не поддържат "източник"синтаксис, но алтернативата"." синтаксис. Синтаксисът "източник" е синоним на точка в Bash. Но това не работи в обвивката на POSIX, така че за максимална съвместимост използвайте синтаксиса на точката.
Основни Linux команди, които трябва да знаете
Командите на обвивката на Linux са чудесен начин за взаимодействие със системата чрез терминала. Те са самата същност на използването на *NIX системи.
Въпреки че не е необходимо да знаете всички команди, запознаването с няколко полезни със сигурност ще се окаже плодотворно, когато се впуснете дълбоко в света на Linux.