* Peter Bossy wrote:
ich habe mir gerade ein Shellskript als Druckerfilter geschrieben. [...] Das Ergebnis des Druckvorgangs soll für jeden User in einem Unterverzeichnis im Homeverzeichnis abgelegt werden. Daher mache ich zunächst eine Abfrage, ob dieses Unterverzeichnis existiert und wenn nicht soll es angelegt werden:
if test -d $HOME/pdf; then echo "pdf vorhanden" else mkdir $HOME/pdf fi
Leider verweist die Variable $HOME immer auf / , während die Variable $USER immer korrekt den User angibt, der den Job abgeschickt hat. Das Skript wird vom lpd unter der UID des Users aufgerufen.
Woran liegt es, daß die Variable $HOME nicht den richtigen Wert hat? Wenn ich diesen Abfrageblock in einem Testskript als User ablaufen lasse funktioniert alles.
Kann ich dir auch nicht genau erklären, woran es liegt. Aber wie wär's mit einem workaround um an's Home-Verzeichnis zu kommen? HOMEDIR=$(grep $USER /etc/passwd | cut -d ':' -f 6) Da es nicht dringend wichtg scheint darüber zu informieren, dass das Verzeichnis ${HOMEDIR}/pdf existiert - es wird ja ansonsten ohne Nachfrage angelegt - kannst du die if-Schleife auch weglassen: test -d ${HOMEDIR}/pdf || mkdir ${HOMEDIR}/pdf christian -- Bitte kein CC: bei Antwort an Mailingliste Etikette per Mail: To: mailings-suse@gmx.de Subject: send etikette http://www.ndh.net/home/schult/etikette.html --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com