Anweisungen in Shell script werden nicht ausgeführt

Seiyaru2208

Captain
Registriert
Apr. 2008
Beiträge
3.112
Hallo Jungs,

ich habe mal wieder eine Frage =)

Und zwar ich schreibe derzeit an ein Shell-Script welches die Installation meines Server`s automatisiert durchführen soll, grundlegend funktioniert auch alles bloß ein Befehle wird nicht ausgeführt.....

Code:
#Rechte werden vergeben
chown -R www-data:www-data /var/opt/Test/Test

Leider kommt keine Fehlermeldung es wir bloß nichts ausgeführt.... Jetzt meine Frage habe ich da ein Syntax-Fehler?
 
Hi,

versuchs mal mit dem absoluten Pfad zu "chown" im Script, außerdem solltest du das Ergebnis irgendwo loggen um den Fehler eventuell gleich zu sehen?

mfg
 
Tompson schrieb:
Hi,

versuchs mal mit dem absoluten Pfad zu "chown" im Script, außerdem solltest du das Ergebnis irgendwo loggen um den Fehler eventuell gleich zu sehen?

mfg

Könntest du mir ein Beispiel geben? Ich habe grade irgendwie ein Denkfehler kann mir nix drunter vorstellen :/

PS: Cooler Profilbild ich hoffe du liest auch fleißig DB-Multiverse :) Sorry genug offtopic ^^
 
"chown" ist ja auch nur ein Programm das ausgeführt wird und irgendwo im Dateisystem herumliegt, bei Scripts kommt es manchmal vor dass diese nur ausgeführt werden wenn man den absoluten Pfad angibt.
zB. bei Freebsd anstelle von nur "chown" gibt man den ganzen Pfad an "/usr/sbin/chown -R www-data:www-data /bla/bli/blu"

Was passiert denn wenn du den Befehl einfach in der Shell ausführst? Fehlermeldung?

@Dragonball
Leider schon seit gut 8 Jahren nicht mehr damit beschäftigt, hab nur früher Dragonball und Dragonball Z geschaut ;)

MfG
 
Tompson schrieb:
"chown" ist ja auch nur ein Programm das ausgeführt wird und irgendwo im Dateisystem herumliegt, bei Scripts kommt es manchmal vor dass diese nur ausgeführt werden wenn man den absoluten Pfad angibt.
zB. bei Freebsd anstelle von nur "chown" gibt man den ganzen Pfad an "/usr/sbin/chown -R www-data:www-data /bla/bli/blu"

Was passiert denn wenn du den Befehl einfach in der Shell ausführst? Fehlermeldung?

@Dragonball
Leider schon seit gut 8 Jahren nicht mehr damit beschäftigt, hab nur früher Dragonball und Dragonball Z geschaut ;)

MfG

Danke jetzt verstehe ich das und werde das auch mal probieren =)

Also wenn ich das so in die Konsole eingebe wird dies ohne Probleme ausgeführt ich werde aber gleich mal mein Script anpassen =)
 
"chown" verlangt oft genug nach root-privilegien, solltest also zuerst prüfen, ob der Benutzer, der das script ausführt, auch die passenden Rechte hat.

Ferner kannst Du den absoluten Pfad zu chown in eine variable packen.

Code:
[ $(whoami) = 'root' ] && $(which chown) -R www-data:www-data /var/opt/Test/Test;
if [ $? -ne 0 ]; then
   echo "Fehler";
   exit 1;
else
   echo "OK"
fi
 
chown sollte eigentlich immer Administratorrechte benötigen. Sonst könnte ja jeder SUID root setzen und Spaß haben.
 
Danke Jungs für den vielen Input....

Sorry das ich jetzt erst schreibe aber ich war in Tokio da war mal der Computer aus ^^

Also ich habe den Fehler gefunden.... ich hatte einfach den falschen Pfad beschrieben dadurch hat chown es nicht gefunden.....^^ So einfach kann das manchmal sein =)
 
Zurück
Oben