mkdir Command Not Found in shell script within if loop

11,145

can you run mkdir in your login session?

If you can, most probably the problem is caused by PATH in your script, try suing full path:

if [ ! -e $c ];
then
/bin/mkdir -p "$c"
fi

or export PATH first

PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/local/sbin
export PATH
if [ ! -e $c ];
then
/bin/mkdir -p "$c"
fi
Share:
11,145

Related videos on Youtube

Navdeep
Author by

Navdeep

Updated on June 04, 2022

Comments

  • Navdeep
    Navdeep almost 2 years

    I have simple script below,

    if [ ! -e $c ];
    then
    mkdir "$c"
    fi
    

    $c is containing the folder path. I got the error mkdir: command not found. please help me out.

    Thanks in advance. Navdeep

  • Navdeep
    Navdeep over 10 years
    Thanks alot, it worked. I have wasted my 3 hours on that only. thanks again.
  • Md Shihab Uddin
    Md Shihab Uddin over 5 years
    I faced the same problem. Then i found that i've written readonly PATH="$OPTARG" in my script and the exported PATH variable in .bash_profile is being overwritten. so mkdir command is not found. Very bad, I should be more careful to set variable.