Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : Shell - Problem mit if-Schleife



d0cd
12-05-2003, 10:49
Hi,
ich habe ein kleine Problem mit einer if-Schleife.
Ich möchte folgendes Script ausführen:
if [ touch /home/user/datei && -w /home/user/datei ]; then
echo "Dummytext" >> /home/user/datei
fi

Allerdings scheint die Shell mein "touch" in der if-Bedingung nicht zu mögen ... ist eine solche Konstruktion also nicht möglich?

phate
12-05-2003, 12:05
Hi d0cd,

Deine Bedingung ist vollkommen redundant, da touch voraussetzt, dass die Zieldatei schreibbar ist. Je nach Anforderung kannst Du Dein Skript folgendermassen formulieren
#!/bin/bash
# wenn schreibbar führe befehle aus

touch /home/user/datei 2> /dev/null && {
echo "dummytext" >> /home/user/datei
}
#!/bin/bash
# prüfe auf schreibbarkeit, if - else konstrukt

touch /home/user/datei 2> /dev/null

if [ $? -eq 0 ]; then
echo "dummytext" >> /home/user/datei
else
echo "schreiben nicht möglich"
fi