Wie lösche ich eine Datei aus einem Befehl in einer Shell-Datei für /etc/init.d?

Wie lösche ich eine Datei aus einem Befehl in einer Shell-Datei für /etc/init.d?

Ich habe eine Frage zur Arbeit mit /etc/init.dShell-Skripten.

Ich möchte lediglich eine Datei aus einem Befehl im Shell-Skript löschen, und zwar etwa so:

case $1 in

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

esac

Ich speichere es als Test und erstelle die memcached.pidDatei.

Wenn ich /etc/init.d/test„Stop“ mit dem Skript aus dem Ordner ausführe , wird /etc/init.d/die Datei nicht gelöscht.memcached.pid

Wenn ich das Skript von meinem Home-Verzeichnis aus ausführe, funktioniert es einwandfrei.

Ist ein spezielles Format oder eine spezielle Struktur des Befehls erforderlich?

Antwort1

Verwenden Sie den vollständigen Pfad zu rm; vergewissern Sie sich, dass er auf Ihrem System derselbe ist:

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

Init-Skripten ist Ihre (oder Root-)Umgebungsvariable PATH normalerweise nicht festgelegt.

verwandte Informationen