Hallo Linuxer -
vielen Dank für das Lesen dieser msg.
ich habe eine Frage zu der
if-then-else-fi Kette.
Unter Kurztipps 53.html wurde ein Script für
das unabhängige betreiben von kde1 und kde2
wie folgt beschrieben :
if .... ;then
if .... ;then
.
.
else
.
.
fi
fi
Was mir nicht klar ist, ist das doppelte if.
Diese Kombination habe ich in der Literatur
nicht gefunden.
(www.pro-linux.de/kurztips/53.html)
Danke für Eure Hilfe.
73 Henry
shellscript ?
Re: shellscript ?
Tja, da ist eigentlich nix geheimnisvolles dran, es sind halt nur zwei ineinader geschachtelte if's:
<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
if [ -f $HOME/.kderc1 ]; then
if [ -f $HOME/.kderc2]; then
mv $HOME/.kderc1 $HOME/.kderc
mv $HOME/.kde1 $HOME/.kde;
else
mv $HOME/.kderc $HOME/.kderc2
mv $HOME/.kde $HOME/.kde2
mv $HOME/.kderc1 $HOME/.kderc
mv $HOME/.kde1 $HOME/.kde;
fi
fi
</font><hr></pre></blockquote>
Jetzt klarer? Das erste "if" fragt ab, ob überhaupt eine $HOME/.kderc1 existiert, ansonsten passiert gar nix. Wenn die Bedingung aber greift, macht er weiter und prüft, ob $HOME/.kderc2 existiert. Falls ja, den then-Fall des 2. ifs durchlaufen, falls nein den else-Fall des 2. ifs durchlaufen.
Das war's eigentlich auch schon. Ich tippe mal, die fehlende Formatierung (oder HTML-technische Unterdrückung der Formatierung) hat Dich geschmissen, oder?
<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
if [ -f $HOME/.kderc1 ]; then
if [ -f $HOME/.kderc2]; then
mv $HOME/.kderc1 $HOME/.kderc
mv $HOME/.kde1 $HOME/.kde;
else
mv $HOME/.kderc $HOME/.kderc2
mv $HOME/.kde $HOME/.kde2
mv $HOME/.kderc1 $HOME/.kderc
mv $HOME/.kde1 $HOME/.kde;
fi
fi
</font><hr></pre></blockquote>
Jetzt klarer? Das erste "if" fragt ab, ob überhaupt eine $HOME/.kderc1 existiert, ansonsten passiert gar nix. Wenn die Bedingung aber greift, macht er weiter und prüft, ob $HOME/.kderc2 existiert. Falls ja, den then-Fall des 2. ifs durchlaufen, falls nein den else-Fall des 2. ifs durchlaufen.
Das war's eigentlich auch schon. Ich tippe mal, die fehlende Formatierung (oder HTML-technische Unterdrückung der Formatierung) hat Dich geschmissen, oder?