Welcome to the Linux Foundation Forum!

Facing problem in testing the file permission

script name: filetest.sh

if [ $# -eq 0 ] ; then

echo " You didn't enter any argument"

elif [ ! -e $1 ] ; then

echo " file not exist"

elif [ ! -r $1 ] ; then

echo " file not readable"

elif [ ! -w $1 ] ; then

echo " file not writable"

else

echo " file both readable and writable"

fi

running like...

$ ./filetest filename

but it showing.....both readable and writable

for those file which are not readable and writable...

Comments

  • Posts: 2,177
    The problem is how you are checking for an empty string, this is what is causing the problems, you want to use [ -z $1 ] which check is the string is zero length.
    A working form of the script is below.

    if [ -z $1 ] ; then
    echo " You didn't enter any argument"
    elif [ ! -e $1 ] ; then
    echo " file not exist"
    elif [ ! -r $1 ] ; then
    echo " file not readable"
    elif [ ! -w $1 ] ; then
    echo " file not writable"
    else
    echo " file both readable and writable"
    fi

Welcome!

It looks like you're new here. Sign in or register to get started.
Sign In

Welcome!

It looks like you're new here. Sign in or register to get started.
Sign In

Categories

Upcoming Training