Vielen Dank für dein Posting, das stimmt alles genau, eig. benötigt man zum starten des SHOUTCast-Servers keine Root-Rechte, womit ich die Fuktion eigentlich sperren könnte.
Das ganze bräuchte ich ja dann auch nur beim Parameter Start abfragen, wie folgt:
Code:
if [ \( $UID -eq 0 \) -a \( $check_root -eq 0 \) ]; then
echo "Das Starten des Servers mit vollen Rechten, stellt ein großes Sicherheitsrisiko dar, möchten sie dennoch starten? Dann tippen Sie bitte 1 ein, andernfalls drücken Sie die Return-Taste..."
read $option
if [ $option -eq 1 ]; then
#...CODE CODE
else
echo "Bitte geben Sie in der Konfig des Scripts den gewünschten Username ein"
#exit 1
fi
fi
Die Option $check_root habe ich deshalb noch eingebaut, dass auch das Starten des Servers möglich ist, wenn das Script automatisch vom System aus den /etc/init.d ausgerufen wird.
Das ist doch richtig so, oder?
Und dann würde ich hier noch gerne das Script nach dem letzten echo abbrechen wie es in PHP mit exit; funktioniert, das ist doch hier auch in der BASH möglich, oder? Welchen exit-Wert gebe ich dann allerdings aus?
Und leider scheint die BASH noch ein Problem mit regulären Ausdrücken zu sein, die es aufeinmal in der Test-Anweisung erkennt:
Code:
h852677:~# ./DeinScript_new status
+ path_shoutcast=/home/shoutcast
+ use_screen=1
+ use_user=1
+ username=shoutcast
++ pgrep -f '${path_shoutcast}/sc_serv'
Invalid preceding regular expression++ pgrep -u shoutcast -f '${path_shoutcast}/sc_serv'
Invalid preceding regular expression+ '[' '(' -n '' -a 1 -eq 0 ')' -o '(' -n '' -a 1 -eq 1 ')' ']'
++ pgrep -f '${path_shoutcast}/sc_serv'
Invalid preceding regular expression++ pgrep -u shoutcast -f '${path_shoutcast}/sc_serv'
Invalid preceding regular expression+ '[' '(' -z '' -a 1 -eq 0 ')' -o '(' -z '' -a 1 -eq 1 ')' ']'
+ echo -ne 'Server scheint \033[1;37mOFFLINE\033[0m zu sein...\n'
Server scheint OFFLINE zu sein...
+ exit 0
Ich hab mir die beiden Tests schon genau angeschaut, allerdings komm ich nicht drauf, was man daran machen könnte, dass dieser sich nicht über einen Fehlerhaften regulären Ausdruck beschwert... hmm...
MfG
Michael
Lesezeichen