Если вы используете переменную в качестве команды, подобной этой, она интерпретирует содержимое переменной как имя команды, а не как команду, сопровождаемую ее аргументами.
Так что если вы делаете VAR="foo bar"
а затем $VAR
он ищет исполняемый (или встроенный) файл с именем foo bar
, а не исполняемый файл с именем foo
, который вызывается с аргументом bar
.
.хотите, вам нужно определить функцию:
TESTCMD() {
if [ ! -d /home/$USER/testfoo ]
then
mkdir /home/$USER/testfoo
fi
}
TESTCMD