Umgebungsvariablen Startscripte

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
pbrille
Beiträge: 35
Registriert: 15.03.2008 22:16:44

Umgebungsvariablen Startscripte

Beitrag von pbrille » 14.08.2011 12:13:12

Hi,

Debian 6.0.2
2.6.32-5-amd64

ich habe mit verschiedenen Bootscripten Probleme und glaube auch herausgefunden zu haben, warum.
Ich habe per crontab ein script geschrieben, welches beim starten (@reboot) automatisch ausgeführt wird:

Code: Alles auswählen

#!/bin/bash
env > ~/output.log 2>&1
echo $PATH >> ~/output.log 2>&1
Wenn es dann beim Neustart ausgeführt wird, erhalte ich folgende Ausgabe in der output.log:
SHELL=/bin/sh
PATH=/usr/bin:/bin
PWD=/root
LANG=de_DE.UTF-8
SHLVL=1
HOME=/root
LOGNAME=root
_=/usr/bin/env
/usr/bin:/bin
Wenn ich aber als angemeldeter root-Benutzer den Befehl env eingebe, erhalte ich völlig andere Werte:
TERM=xterm-color
SHELL=/bin/bash
HISTSIZE=5000
XDG_SESSION_COOKIE=342bd7be211e761ebe3fe77000230007-1313215261.223159-19435264652
SSH_CLIENT=<<ip>> 56347 22
SSH_TTY=/dev/pts/0
USER=root
MAIL=/var/mail/root
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PWD=/root
LANG=de_DE.UTF-8
SHLVL=1
HOME=/root
LOGNAME=root
SSH_CONNECTION=..........
_=/usr/bin/env
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Besonders die PATH Variable scheint die Probleme zu machen, weil ja sicherlich nicht alle Programme in /usr/bin oder /bin liegen.
Was läuft hier falsch, bzw. wie kann ich das reparieren?
Erbitte Hilfe.

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Umgebungsvariablen Startscripte

Beitrag von rendegast » 14.08.2011 13:48:54

Du kannst die benötigten Einstellungen im Skript resp. in der Benutzer-crontab setzen.
Die System-crontab sollte nicht modifiziert werden, um die Auswirkungen überschaubar zu halten.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Benutzeravatar
Meillo
Moderator
Beiträge: 9241
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Umgebungsvariablen Startscripte

Beitrag von Meillo » 14.08.2011 18:19:52

pbrille hat geschrieben: Besonders die PATH Variable scheint die Probleme zu machen, weil ja sicherlich nicht alle Programme in /usr/bin oder /bin liegen.
Was läuft hier falsch, bzw. wie kann ich das reparieren?
Ich wuerde sagen: Nichts laeuft falsch. Das ist schon gewollt so. In Systemscripten sollte man sowieso moeglichst absolute Pfadnamen zu Programmen verwenden.

Sonst kann man PATH ja auch am Beginn des Scripts geeignet setzen.

Und wenn man weiss was man tut, dann kann man mit dem source Kommando auch eine profile oder shellrc laden. Besser man tut es nicht ... aber moeglich ist es.
Use ed once in a while!

Antworten