Запуск сценариев tcsh при запуске в bash env

У меня есть пользователь с именем foo , который по умолчанию использует tcsh в / etc / passwd . Я не могу изменить эту оболочку по умолчанию. У Foo работает служба xyz , для которой все сценарии запуска и. (dot) файл, содержащий переменные ENV, находится в домашнем каталоге foo.

Теперь также создается сценарий запуска для запуска этой службы и помещается в /etc/init.d/xyz , который написан на bash .

Теперь проблема в том, что служба не запускается при загрузке, и я не могу запустить ее от своего пользователя по умолчанию при входе в систему. Это возможно только тогда, когда я su в foo user и выполняю сценарий для запуска службы.

Если мне это нравится

sudo su foo / home / foo / xyz , мне будут показаны такие ошибки, как , затем: then / endif not found. .

Итак, что я хотите запустить программу tcsh для запуска при загрузке из сценария init.d, который находится в bash. В настоящее время я пытался сделать это

su - foo -c "source /home/foo/.env_vars && / home / foo / bin / xyz start" , но это не запускает службу во время загрузки .

Я не знаю, как запустить сценарий tcsh во время загрузки.

0
задан 22 March 2018 в 13:00
1 ответ

Вы можете:

  • использовать tcsh -c $ script для запуска сценариев с tcsh
  • установить shebang (первая строка) в сценарии на #! / Bin / tcsh и установите его исполняемым файлом; затем вы можете просто запустить его с помощью команды $ script .
1
ответ дан 4 December 2019 в 16:00

Теги

Похожие вопросы