Hoher CPU load und script steht bei su - root -c

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
hanz
Beiträge: 18
Registriert: 28.08.2006 19:42:34

Hoher CPU load und script steht bei su - root -c

Beitrag von hanz » 18.01.2008 12:01:32

Hallo Leute,

Ich versuche mich gerade an einem kleinen bash-script für einen Bekannten. Problem ist nun, dass der su -m - root -c ... nur CPU auf 100% bringt, aber keine PW-Abfrage kommt, und auch sonst nichts passiert. System ist Debian testing/lenny.

Code: Alles auswählen

#!/bin/bash
if [ `id -u` -ne 0 ] ; then
	echo "bitte als root ausführen"	
	su -m - root -c `$0 $1`
	exit $?
fi

case $1 in

start)
# mache irgendwas
exit 0
;;

stop)
# mache irgendwas anderes
exit 0
;;

*)
echo "Bitte start / stop Parameter eingeben"
exit 0
esac
Danke schonmal für eure Hilfe!

cosmac
Beiträge: 4576
Registriert: 28.03.2005 22:24:30

Beitrag von cosmac » 18.01.2008 13:50:23

hi,

meine Theorie: probier mal

Code: Alles auswählen

   su -m - root -c '$0 $1'
also andere Anführungszeichen. Mit den Backticks muss die
shell den Inhalt davon ausführen, um das Ergebnis an den
Befehl zu übergeben. In deinem Fall wird das Script nochmal
aufgerufen und hat natürlich immer noch keine id == 0.
Beware of programmers who carry screwdrivers.

hanz
Beiträge: 18
Registriert: 28.08.2006 19:42:34

Beitrag von hanz » 19.01.2008 10:00:31

Also mit ' ' gings irgendwie auch nicht, hab nun " " genommen und es ging. :)

Antworten