LINUX.ORG.RU
ФорумAdmin

Запуск демона из скрипта


0

0

Sendmail запускается скритпом /etc/rc.d/sendmail
права скрипта - 755

Запускаю из /etc/rc.d
./sendmail
или
/etc/rc.d/sendmail (без точки первой)
- скрипт запускается на ура.

Запускаю из /etc/rc.d
sendmail
- запускается сам демон /usr/sbin/sendmail

Почему не берется файл с таким же именем из текущей директории?
И так с каждым сриптом, который запускает какой-либо демон -
если не указать точку, то ищется сам демон.
Что не так?
Простой скрипт из, например, одной строки
ls -la
запускается на ура и сточкой и без.

anonymous

Ответ на: комментарий от anonymous

то есть, если хочешь запустить что-то из текущей директории добавляй ./ ,если хочешь чтоб искалось в PATH переменной то без ./

anonymous
()

> Почему не берется файл с таким же именем из текущей директории?

Отучайтесь от вредных досовиндовых привычек.

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

Хорошо, а почему тогда простой скрипт 1.sh, состоящий из одной команды
ls -la sendmail
запускается из текущей дир-ии /etc/rc.d вне зависимости от того, есть
./ или нет?

Если предположить, что сначала поиск идет в дир-ях,
указанных для поиска, а только потом в текущей дир-ии,
то после того, как скрипт 1.sh (команда была изменена на
ls -la named
) был помещен в /usr/sbin рядом с sendmail,
запуск из /etc/rc.d
1.sh (без ./)
исполняет именно /etc/rc.d/1.sh, а не тот, что в /usr/sbin,
как это происходит с sendmail.
Помогите, пожалуйста, разобраться

anonymous
()
Ответ на: комментарий от gaa

>Отучайтесь от вредных досовиндовых привычек.

значит все-таки по умолчанию нет поиска в текущей директории.
уже что-то

anonymous
()
Ответ на: комментарий от anonymous

> Если предположить, что сначала поиск идет в дир-ях,
> указанных для поиска, а только потом в текущей дир-ии

Поиск идет только в директориях, указанных для поиска.
И только в указанном порядке. Текущая директория тоже может
быть указана в $PATH.

Deleted
()
Ответ на: комментарий от Deleted

Всем спасибо, но вот что выснилось. Мой sendmail-скрипт был без расширения. А вот 1.sh - с расширением. Стоило его убрать, и команды 1 и ./1 стали выдавать разные резульаты. Первая команда дала выполнение скрипта из /usr/sbin Вторая - из текущей дир-ии в PATH ничего не добавлялось.

anonymous
()
Ответ на: комментарий от anonymous

>Мой sendmail-скрипт был без расширения. А вот 1.sh - с расширением.

ИМХО, у вас PATH содержит "." (в конце). Вроде в каких то дистрибутивах так было по умолчанию. Покажите, если не сложно, "echo $PATH". Хотя может в вашем дистрибутиве настроено binfmt_misc (ls -l /proc/sys/fs/binfmt_misc).

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