2012-02-23 28 views
5

Mi chiedo perché il piccolo script qui sotto funziona ora. Ho creato dfFile nella directory/data ma lo script non stampa le espressioni in if statement.Verificare se il file esiste in ksh

#!/bin/ksh 
DATAFILE="/data/dfFile" 
echo $DATAFILE 
#df -h>/data/dfFile 
    if [[ -e DATAFILE ]] 
    then 
    echo "sa" 
    echo $DATAFILE 
    df -h > $DATAFILE 
    fi 
+0

se [[-e $ {} DATAFILE]] che risolto il problema. – mibzer

risposta

19

Questo dovrebbe leggere

if [[ -e "$DATAFILE" ]] 
+5

Giusto per aggiungere che quando si usano doppie parentesi le variabili espanse non sono soggette alla divisione della parola/campo della shell (quindi le virgolette doppie potrebbero essere evitate). Questo, ovviamente, non è il caso quando si utilizza il costrutto '[...]'. –

Problemi correlati