[gelöst] Auslesen von Steuerungsinformation für ein Skript

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
rhHeini
Beiträge: 2725
Registriert: 20.04.2006 20:44:10

[gelöst] Auslesen von Steuerungsinformation für ein Skript

Beitrag von rhHeini » 06.11.2009 00:05:33

Ich versuche aus einem Skript unter /usr/local/sbin auf eine Datei in /etc zuzugreifen um Text auszulesen, der zur Steuerung des Skripts dienen soll. Beim Zugriff auf die Datei kommt dann die Fehlermeldung: Keine Berechtigung.

Skript und Steuerdatei haben gleichen Owner und gleiche Gruppe.

Sowas muss doch gehen. Aber wie?

Mfg rh
Zuletzt geändert von rhHeini am 08.11.2009 20:51:01, insgesamt 1-mal geändert.

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Re: Auslesen von Steuerungsinformation für ein bash-Skript

Beitrag von Duff » 06.11.2009 07:27:57

Welche Rechte hat denn der User, unter dem du das Skript ausführst?
Oh, yeah!

rhHeini
Beiträge: 2725
Registriert: 20.04.2006 20:44:10

Re: Auslesen von Steuerungsinformation für ein bash-Skript

Beitrag von rhHeini » 06.11.2009 13:30:17

root, sollte also gehen.

Mfg rh

Benutzeravatar
GoKi
Beiträge: 2068
Registriert: 04.07.2003 23:08:56
Lizenz eigener Beiträge: MIT Lizenz

Re: Auslesen von Steuerungsinformation für ein bash-Skript

Beitrag von GoKi » 06.11.2009 14:00:45

Wie versuchst Du die Variablen aus dem anderen Skript einzubinden?

Code: Alles auswählen

. anderesScript
bzw.

Code: Alles auswählen

source anderesScript
?
Ansonsten wäre vielleicht ein Minimal-Beispiel ganz nett, damit man das Problem besser nachvollziehen kann.
MfG GoKi
:wq

rhHeini
Beiträge: 2725
Registriert: 20.04.2006 20:44:10

Re: Auslesen von Steuerungsinformation für ein bash-Skript

Beitrag von rhHeini » 06.11.2009 20:07:07

Also ganz konkret:

Ausschnitt aus dem Skript in /usr/local/sbin (komprimiert, also ohne Kommentare):

Code: Alles auswählen

conffile='/etc/autoshutdown.conf'
hostfile='/etc/autoshutdown.hosts'
echo $conffile
echo $hostfile
log=cat $conffile | grep log= | cut -f 2 -d '"'
Die beiden echo's sind noch ok, über den cat-Befehl stolpert das Skript und meldet:

Code: Alles auswählen

/usr/local/sbin/autoshutdown.sh: line 32: /etc/autoshutdown.conf: Keine Berechtigung
Ich schreibe mit Notepad++ auf W2k, das Skript wird per WinSCP auf den Server kopiert auf dem es laufen soll, und über PuTTy (mit root eingeloggt) angeschmissen.

Die autoshutdown.conf hat 666-Rechte, Owner und Group sind root. Liegt auch nicht an der Pipe, hab die auch schon mal auskommentiert. Warum geht das nicht?

Mfg rh

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Re: Auslesen von Steuerungsinformation für ein bash-Skript

Beitrag von gms » 06.11.2009 20:17:51

falsche Syntax ( außer du würdest 'cat' der Variablen 'log' zuweisen und das Kommando '$conffile | grep ...' ausführen wollen):
rhHeini hat geschrieben: log=cat $conffile | grep log= | cut -f 2 -d '"'
richtig wäre z.B:

Code: Alles auswählen

log=$(grep log= "$conffile"  | cut -f 2 -d '"')
Gruß
gms

rhHeini
Beiträge: 2725
Registriert: 20.04.2006 20:44:10

Re: Auslesen von Steuerungsinformation für ein bash-Skript

Beitrag von rhHeini » 06.11.2009 21:54:39

Danke, das wars, hatte wegen einem Syntaxfehler die als Klamern dienenden "`" weggelassen. Die Vorlage vom fli4l muss wohl doch mehr poliert werden als ich dachte. Aber ich werd mich da schon durchbeissen.

Schönes Wochenende, rh

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Re: Auslesen von Steuerungsinformation für ein bash-Skript

Beitrag von Duff » 07.11.2009 08:59:07

rhHeini hat geschrieben: Ich schreibe mit Notepad++ auf W2k, das Skript wird per WinSCP auf den Server kopiert auf dem es laufen soll, und über PuTTy (mit root eingeloggt) angeschmissen.
Wäre es nicht einfacher das Skript direkt auf dem Server über Putty zu schreiben?
Oh, yeah!

rhHeini
Beiträge: 2725
Registriert: 20.04.2006 20:44:10

Re: Auslesen von Steuerungsinformation für ein bash-Skript

Beitrag von rhHeini » 08.11.2009 20:49:55

Nein.

Die Quellen (die Dateien meines fli4l-Routers) sind eh auf dem PC. Ausserdem ist das Zielsystem ein reiner Server ohne X11. Müsste dort mit nano arbeiten, was mir für dieses Projekt zu unkomfortabel ist. nano ist ok für kleine Änderungen.

Geht so wunderbar.

Mfg rh

Antworten