Ваш сценарий содержит окончания строки CRLF, тогда как Unix использует окончания строки LF. Следующее удалит их, если у Вас будет GNU sed
:
sed -i 's/\r$//' cxStopAllServicesOnSERVER.sh
Если у Вас нет GNU sed
, запишите во временный файл и затем переместите его поверх старого файла.
Как в стороне, если Вы вызываете использование сценария sh
, Вы переопределите хижину. Это, вероятно, не, что Вы хотите.
service
процесс как любой другой. Большую часть времени это /sbin/service
. Поскольку у нас теперь есть многие "init" менеджеры (Сценарии RC, выскочка, systemd, svcadm...) каждый с их особенностями, с помощью service
управлять сценариями запуска - положительная сторона.
Модификация необходимо сделать связанный с базовой системой.
Например, в init-емкостно-резистивной системе (самое обычное) вызов сценария /etc/init.d/crond
или вызов service crond
то же:
$ service crond status
crond (pid 1837) is running...
$ /etc/init.d/crond status
crond (pid 1837) is running...
Но с systemd, проблема намного более хитра, поскольку всем управляет двоичный файл "systemd".
Так, если Вы не хотите управлять многими системами и исключениями, можно рассмотреть использование sudo
. иначе можно запустить сценарии как пользовательскую лямбду или использовать сценарии "набора-uid".