if und ksh

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von wenze, 27.06.2008.

  1. #1 wenze, 27.06.2008
    Zuletzt bearbeitet: 27.06.2008
    wenze

    wenze Jungspund

    Dabei seit:
    05.01.2007
    Beiträge:
    20
    Zustimmungen:
    0
    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 
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. NoXqs

    NoXqs Routinier

    Dabei seit:
    07.05.2007
    Beiträge:
    420
    Zustimmungen:
    0
    Ort:
    Bremen
    Wo ist der Unterschied?
     
  4. wenze

    wenze Jungspund

    Dabei seit:
    05.01.2007
    Beiträge:
    20
    Zustimmungen:
    0
    Sorry aber ich verstehe deine Frage nicht.
     
  5. NoXqs

    NoXqs Routinier

    Dabei seit:
    07.05.2007
    Beiträge:
    420
    Zustimmungen:
    0
    Ort:
    Bremen
    Im zweiten Fall fehlt das test.

    Ich dachte, das war einfach zu sehen. ;-)
     
  6. #5 wenze, 27.06.2008
    Zuletzt bearbeitet: 27.06.2008
    wenze

    wenze Jungspund

    Dabei seit:
    05.01.2007
    Beiträge:
    20
    Zustimmungen:
    0
    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?!
     
  7. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  8. #6 NoXqs, 27.06.2008
    Zuletzt bearbeitet: 27.06.2008
    NoXqs

    NoXqs Routinier

    Dabei seit:
    07.05.2007
    Beiträge:
    420
    Zustimmungen:
    0
    Ort:
    Bremen
    # 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.
     
  9. wenze

    wenze Jungspund

    Dabei seit:
    05.01.2007
    Beiträge:
    20
    Zustimmungen:
    0
    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
     
Thema:

if und ksh