if und ksh

W

wenze

Jungspund
Hi All,

ich habe ein bissel so meine Probleme mit der unterschiedlichen Schreibweise in
den verschiedenen Shells.


Ich teste ab ob eine Datei existiert, wenn ja soll eine Abfrage kommen,
ob die Datei neu erstellt werden soll.

Danke für jeden Tipp


Code:
if test -f ${PWD}/inifile
	then
  	echo "\n\033[1;31mInifile already exist if you will recreatet?        \033[0m\c"
  	read RECREATE


 if ${RECREATE} != "y"
  then 
  echo "\n\033[1;31mERROR: target template with name inifile already exist, please remove\033[0m\n"
  exit 1
 fi
fi
 
Zuletzt bearbeitet:
Im zweiten Fall fehlt das test.

Ich dachte, das war einfach zu sehen. ;-)
 
Der Wald und die Bäume ;-) oder der Freitag !? :D

Danke und schönes Wochenende
.
.
.
EDIT (autom. Beitragszusammenführung) :
.

Nur noch kurz wie kann ich ein undef von $RECREATE abfangen, da bei nur enter
es ja weiter läuft?!
 
Zuletzt bearbeitet:
# man test

Code:
-n STRING
              the length of STRING is nonzero
       STRING equivalent to -n STRING
-z STRING
              the length of STRING is zero

Vielleicht solltest du dich für diesen Fall auch auch mal mit der case-esac Abfrage beschäftigen.
Gibt dafür genug Beispiele im Netz.
Gerade für y/n Abfragen eigentlich die erste Wahl.
 
Zuletzt bearbeitet:
ok, für das nächste mal "man"

hab es jetzt so gemacht:


Code:
if test -f ${PWD}/inifile
	then
  	echo "\n\033[1;31mInifile already exist if you will recreatet it press y?        \033[0m\c"
  	read RECREATE
    case ${RECREATE} in
        j*|J*|y*|Y*)  ;;
		n*|N*) exit 1 ;;
		*) exit 1 ;;
	esac
fi
 

Ähnliche Themen

If-Abfrage kommt nicht positiv zurück, obwohl Kriterium erfüllt

Zugriff Ubuntu 16.04. auf Freigabe 18.04. LTS nicht möglich

continue in Schleife einbauen

Problem mit HSPA+ Modem Huawei E353 - Installation unmöglich?

Queue für copy Script

Zurück
Oben