Назад | Перейти на главную страницу

изменение каталога в сценарии bash

У меня есть такой сценарий:

cd "/usr/local/bin/"     
/sbin/startproc ./program1

У меня есть лицензия в /usr/local/bin каталог, и если программа не будет запущена оттуда, она не запустится правильно.

В cd "/usr/local/bin" похоже, не помогает.

Взглянув на страница руководства startproc, похоже, ему нужен полный путь.

Вы пробовали использовать компакт-диск и указать полный каталог, например?

cd /usr/local/bin
startproc /usr/local/bin/program1

После этого я бы добавил следующую строку сразу после строки startproc;

echo -e "exit code is $?"

Это может сказать вам, какую ошибку выдает startproc и в чем может быть проблема, согласно этому списку кодов выхода для программы:

0 Успех
1 Общая или неопределенная ошибка
2 Неверный или лишний аргумент (ы)
4 Недостаточные привилегии
5 Программа не установлена
7 Программа не запущена

Это должно дать вам лучшее представление о том, что происходит, если полный путь не работает.

Вы ничего не сказали о типе системы, в которой делаете это, но обычно утилита с именем вроде startproc выполняет свою собственную настройку - часто включая установку каталога по умолчанию. Я предлагаю вам найти документацию по вашей системе для startproc и посмотрите, как заставить его делать то, что вам нужно, или если это не удается startproc сценарий, который меняет каталог.