[devel] Q: shell "source" builtin
Dmitry V. Levin
ldv на altlinux.org
Сб Июл 23 03:50:50 MSD 2005
On Sat, Jul 23, 2005 at 03:14:25AM +0400, Alexey Tourbin wrote:
> Как определить, запускается ли скрипт exec'ом или загружается через source?
> Т.е. можно ли внутри скрипта отличить, запускают его или сорсят?
>
> $ ./script
> $ . ./script
Вообще говоря, нет.
Но в некоторых случаях можно попробовать:
$ cat script.sh
#!/bin/sh
echo "\$-=$-"
echo "\$0=$0"
$ ./script.sh
$-=hB
$0=./script.sh
$ . ./script.sh
$-=bhimBH
$0=-bash
Зато можно сделать так, чтобы просто запустить было затруднительно:
$ cat script.sh
#!/bin/sh /
echo "\$-=$-"
echo "\$0=$0"
$ ./script.sh
/: /: is a directory
--
ldv
----------- следущая часть -----------
Было удалено вложение не в текстовом формате...
Имя : отсутствует
Тип : application/pgp-signature
Размер : 189 байтов
Описание: отсутствует
Url : http://lists.altlinux.ru/pipermail/devel/attachments/20050723/14334764/attachment.bin
Подробная информация о списке рассылки Devel