Maybe it could be a security level issue... Have you already taken a look if the user of estra running the script without permission to read such directory ?
I use this routine in the company:
#!/bin/bash
make-dir(){
sudo mkdir /solinftec
sudo mkdir /solinftec/bin
sudo mkdir /solinftec/log
sudo mkdir /solinftec/sgpa-api
}
make-dir
Also check how this flag [-p] works in your distro, use Fedora, and with me it does not happen this.
mkdir --help
Usage: mkdir [OPTION]... DIRECTORY...
Create the DIRECTORY(ies), if they do not already exist.
Mandatory arguments to long options are mandatory for short options too.
-m, --mode=MODE set file mode (as in chmod), not a=rwx - umask
-p, --parents no error if existing, make parent directories as needed
-v, --verbose print a message for each created directory
-Z set SELinux security context of each created directory
to the default type
--context[=CTX] like -Z, or if CTX is specified then set the SELinux
or SMACK security context to CTX
--help display this help and exit
--version output version information and exit
GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
Full documentation at: <http://www.gnu.org/software/coreutils/mkdir>
or available locally via: info '(coreutils) mkdir invocation'
Which message appears when you run ? Direct on command line works ?
– Roknauta
It looks like your file
script.sh
contain strange characters... (makesod .c script
and see if any strange character appears (example\r
) after the directory name ; by the way: what givesls -Q
?– JJoao