В оболонці Unix крапка під назвою dot command (.) — це команда, яка оцінює команди в комп’ютерному файлі в поточному контексті виконання.
Команду dot не слід плутати з dot файлом, який є прихованим файлом або прихованим каталогом. Його також не слід плутати з нотацією ./scriptfile для виконання команд, яка є просто відносним шляхом, що вказує на поточний каталог (позначений в Unix як символ ".", і зазвичай за межами змінної Path).
Аргументи
Ім'я файлу є першим аргументом команди dot. Якщо цей аргумент не містить косої риски, оболонка шукатиме файл у всіх каталогах, визначених у змінній середовища PATH. На відміну від звичайних команд, які також містяться в PATH, файл для вихідного коду не обов'язково має бути виконуваним. В іншому випадку ім’я файлу розглядається як простий шлях до файлу.
У кількох «розширених» оболонках, включаючи bash, zsh і ksh, можна вказати параметри у другому аргументі. Якщо параметри не вказано, вихідний файл отримає набір позиційних параметрів, доступних у поточному контексті.
Використання
Оскільки виконання вихідного файлу виконується в контексті виклику, середовище, змінене в межах, застосовується до поточного процесу або поточної оболонки. Це дуже відрізняється від скриптів, які запускаються безпосередньо shebang або як sh foo.sh
, які запускаються в новому окремому просторі процесу з окремим середовищем.
Таким чином, команду dot можна використовувати для розбиття великого скрипту на менші частини, що потенційно дозволяє створити модульний дизайн. Вибір джерел також часто виконується оболонкою під час запуску сеансу для файлів профілів користувача, таких як .bashrc
і .profile
.
Source
source
— це вбудована в оболонку команда, яка оцінює файл після команди як список команд, що виконуються в поточному контексті. Часто "поточний контекст" - це вікно терміналу, в яке користувач вводить команди під час інтерактивного сеансу.
Команду source можна скоротити як крапку (.
) у Bash та подібних оболонках POSIX. Однак це неприйнятно в оболонці C, де вперше з’явилася команда.
Деякі скрипти Bash слід запускати з використанням: source your-script
, а не як виконувану команду, наприклад, якщо вони містять команду зміни каталогу (cd) і користувач має намір залишити їх у цьому каталозі після завершення скрипту, або вони містять команду експорту, і користувач хоче змінити середовище поточної оболонки. Інша ситуація використання – це коли файл не має дозволу на виконання. Передача імені файлу до потрібної оболонки запустить скрипт у subshell, а не в поточному контексті.
Примітки
Посилання
- https://docs.oracle.com/cd/E19683-01/816-0210/6m6nb7m71/index.html#Commands [ 23 січня 2022 у Wayback Machine.]
- https://zsh.sourceforge.io/Doc/Release/Shell-Builtin-Commands.html [ 3 березня 2022 у Wayback Machine.]
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
V obolonci Unix krapka pid nazvoyu dot command ce komanda yaka ocinyuye komandi v komp yuternomu fajli v potochnomu konteksti vikonannya Komandu dot ne slid plutati z dot fajlom yakij ye prihovanim fajlom abo prihovanim katalogom Jogo takozh ne slid plutati z notaciyeyu scriptfile dlya vikonannya komand yaka ye prosto vidnosnim shlyahom sho vkazuye na potochnij katalog poznachenij v Unix yak simvol i zazvichaj za mezhami zminnoyi Path ArgumentiIm ya fajlu ye pershim argumentom komandi dot Yaksho cej argument ne mistit kosoyi riski obolonka shukatime fajl u vsih katalogah viznachenih u zminnij seredovisha PATH Na vidminu vid zvichajnih komand yaki takozh mistyatsya v PATH fajl dlya vihidnogo kodu ne obov yazkovo maye buti vikonuvanim V inshomu vipadku im ya fajlu rozglyadayetsya yak prostij shlyah do fajlu U kilkoh rozshirenih obolonkah vklyuchayuchi bash zsh i ksh mozhna vkazati parametri u drugomu argumenti Yaksho parametri ne vkazano vihidnij fajl otrimaye nabir pozicijnih parametriv dostupnih u potochnomu konteksti VikoristannyaOskilki vikonannya vihidnogo fajlu vikonuyetsya v konteksti vikliku seredovishe zminene v mezhah zastosovuyetsya do potochnogo procesu abo potochnoyi obolonki Ce duzhe vidriznyayetsya vid skriptiv yaki zapuskayutsya bezposeredno shebang abo yak sh foo sh yaki zapuskayutsya v novomu okremomu prostori procesu z okremim seredovishem Takim chinom komandu dot mozhna vikoristovuvati dlya rozbittya velikogo skriptu na menshi chastini sho potencijno dozvolyaye stvoriti modulnij dizajn Vibir dzherel takozh chasto vikonuyetsya obolonkoyu pid chas zapusku seansu dlya fajliv profiliv koristuvacha takih yak bashrc i profile Sourcesource ce vbudovana v obolonku komanda yaka ocinyuye fajl pislya komandi yak spisok komand sho vikonuyutsya v potochnomu konteksti Chasto potochnij kontekst ce vikno terminalu v yake koristuvach vvodit komandi pid chas interaktivnogo seansu Komandu source mozhna skorotiti yak krapku u Bash ta podibnih obolonkah POSIX Odnak ce neprijnyatno v obolonci C de vpershe z yavilasya komanda Deyaki skripti Bash slid zapuskati z vikoristannyam source your script a ne yak vikonuvanu komandu napriklad yaksho voni mistyat komandu zmini katalogu cd i koristuvach maye namir zalishiti yih u comu katalozi pislya zavershennya skriptu abo voni mistyat komandu eksportu i koristuvach hoche zminiti seredovishe potochnoyi obolonki Insha situaciya vikoristannya ce koli fajl ne maye dozvolu na vikonannya Peredacha imeni fajlu do potribnoyi obolonki zapustit skript u subshell a ne v potochnomu konteksti Primitkihttps pubs opengroup org onlinepubs 9699919799 utilities V3 chap02 html tag 18 12 27 kvitnya 2014 u Wayback Machine Posilannyahttps docs oracle com cd E19683 01 816 0210 6m6nb7m71 index html Commands 23 sichnya 2022 u Wayback Machine https zsh sourceforge io Doc Release Shell Builtin Commands html 3 bereznya 2022 u Wayback Machine