Mailinglist Archive: opensuse-de (4938 mails)

< Previous Next >
Re: Scriptfrage
  • From: cschult@xxxxxx (Christian Schult)
  • Date: Fri May 19 12:07:22 2000
  • Message-id: <20000519140722.C3264@xxxxxxxxxxxx>



* 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@xxxxxx
Subject: send etikette
http://www.ndh.net/home/schult/etikette.html

---------------------------------------------------------------------
To unsubscribe, e-mail: suse-linux-unsubscribe@xxxxxxxx
For additional commands, e-mail: suse-linux-help@xxxxxxxx


< Previous Next >
References