KornShell - Test mit der variable kann nicht gesetzt werden

Ich habe den folgenden code in der KornShell (ksh):

FAILURE=1
SUCCESS=0

isNumeric(){

    if [ -n "$1" ]; then
        case $1 in
            *[!0-9]* | "")  return $FAILURE;
                       * )  return $SUCCESS;
        esac;
    else
        return $FAILURE;
    fi;
}

#...
FILE_EXT=${FILE#*.}

if [ isNumeric ${FILE_EXT} ]; then
    echo "Numbered file."
fi
#...

In einigen Fällen den Namen der Datei keine Erweiterung haben, und dies bewirkt, dass die FILE_EXT variable leer zu sein, das verursacht die folgende Fehlermeldung:
./script[37]: test: 0403-004 Specify a parameter with this command.

Wie soll ich das aufrufen dieser Funktion, so dass ich nicht diese Fehlermeldung erhalten?

Ich würde erwarten, dass das ganze mit dem Namen zu sein, in der FILE_EXT eher als nichts, es sei denn, der Dateiname endet mit '.'

InformationsquelleAutor C. Ross | 2009-12-11

Schreibe einen Kommentar