LINUX.ORG.RU
ФорумAdmin

скрипт по линке

 


0

1

есть например каталог work , в этом каталоге есть папке script , в папке два файла index.sh и index_sh.conf, index_sh.conf '\это конфиг что подключается через соурс в скрипте index.sh, в идеале если перейти в каталог work/script и сделать sudo bash index.sh , то все работает , но , появилась задаа такое действие выполнять по линке, то есть я делаю

ln -s index.sh ../link

потом делаю sudo bash work/link , скрипт запускается, но конфигурационного файл он не видит.

конфиг подключается если быть точным так:

source ./index_sh.conf

добавлял для теста pwd в сам скрипт , и естественно он думает что он в папке где лежит ссылка на него , как лечиться такая проблема ?



Последнее исправление: echo_ (всего исправлений: 1)

DIR=$(dirname $(readlink -f $0))
source $DIR/index_sh.conf
shell-script ★★★★★
()

но конфигурационного файл он не видит.

Это обычное дело, и «ln» тут вовсе не при чём. Конфиги должны быть по абсолютному пути, по относительному можно делать разве что для отладки. Ведь если потом вы положите скрипт в /bin, то откуда программа должна брать конфиг? Из /bin? А с фига ли там должны быть конфиги. Оно, конечно, по правильному должно быть так: сканируем $HOME/.proga_rc, $HOME/proga/config, /usr/local/etc/proga/config, /etc/proga/config и так длаее, но это уже серьёзно, по взрослому :)

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