LINUX.ORG.RU

bash source

 ,


1

1

есть скрипт

echo "arg0:$0 arg1:$1"
при использовани
/home/blabla/script 
$0 выводит путь до скрипта но при использовании
source /home/blabla/script
там пишется -bash.
Вопрос как получить путь до скрипта или путь до директории в которой он запускается при использовании source не передавая дополнительные аргументы скрипту?


source не передавая дополнительные аргументы скрипту?

Аргументы не передавай, делай VAR=/home/blabla/script перед source $VAR

sdio ★★★★★ ()

Всё правильно — `source'/`.' выполняется в контексте данного шела. Само сабой в $0 ничего нет, т.к. ничего не запускается.

beastie ★★★★★ ()
Ответ на: комментарий от Homura_Akemi

В ksh его нет. Т.е. по-умолчанию подобный скрипт не будет работать ни на одном BSD. Ну и, что проще? Печатать шесть символов или одну точку? ☺ (Да здравстует Perl!)

beastie ★★★★★ ()
Последнее исправление: beastie (всего исправлений: 1)
Ответ на: комментарий от Homura_Akemi

Вопрос только в том, что было раньше tcsh или bash и кто у кого что «украл». ☺ Под «башизмом» подразумеваю непортабельные раcширения (чаще всего в bash).

beastie ★★★★★ ()
Последнее исправление: beastie (всего исправлений: 1)
Ответ на: комментарий от at

спасибо тебе и все остальным, что учите уму-разуму.

depu ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.