Как удалить файл из команды в файле оболочки для /etc/init.d?

Как удалить файл из команды в файле оболочки для /etc/init.d?

У меня есть вопрос по работе со /etc/init.dскриптом оболочки.

Все, что мне нужно сделать, это удалить файл из команды внутри скрипта оболочки, например так:

case $1 in

stop)
  echo "Stopping"
  rm -f /var/run/memcached/memcached.pid

esac

Я сохраняю его как тест и создаю memcached.pidфайл.

Когда я запускаю /etc/init.d/teststop со скриптом из /etc/init.d/папки, memcached.pidфайл не удаляется.

Когда я запускаю скрипт из своего домашнего каталога, он работает нормально.

Нужен ли какой-то особый формат или структура команды?

решение1

Используйте полный путь к rm; убедитесь, что он такой же в вашей системе:

 /usr/bin/rm -f /var/run/memcached/memcached.pid

В сценариях init обычно не задана переменная окружения PATH (или root).

Связанный контент