команда mkdir не найдена в скрипте bash
Я не знаю, почему я получаю ошибку при запуске этого простого скрипта:
#!/bin/bash
read -p "Please enter directory name: " DIR
read -p "Please enter the path: " PATH
mkdir -p "$PATH/$DIR"
line 7: mkdir: command not found
2 ответов
Не используйте переменную PATH
. Эта переменная содержит список каталогов для поиска исполняемых программ. Поскольку вы заменяете его, скрипт не может найти
переменная PATH
является важной переменной среды - это то, как программы (например,mkdir
) найдены, и вы переписываете его. Вы не должны этого делать, но если вы должны, то:
/bin/mkdir -p "$PATH/$DIR"
но, честно говоря, не используйте верхний регистр! В Bash есть множество зарезервированных или специальных переменных, и если вы не можете запомнить их все, просто помните, что все, кроме одного, находятся в верхнем регистре. Переменные в Bash чувствительны к регистру, как и во всех разумных языках программирования.