Вы получаете ошибку exit code 127 при попытке выполнить Bash скрипт ?
Это означает, что ваша система Linux не смогла найти команду, на которую ссылается скрипт, что может означать, что путь к команде недействителен, или команда вообще не установлена.
В этом руководстве мы объясним, что вызывает эту ошибку «command not found», и покажем, как ее исправить.
Exit code 127
Код ошибки 127 означает «command not found».
Это происходит, когда какая-либо команда в вашем скрипте Bash или в командной строке Bash не найдена ни в одном из путей, определенных системной переменной окружения PATH.
Решение состоит в том, чтобы убедиться, что используемая вами команда находится в вашем пути $PATH.
Если команды нет в пути, либо включите ее, либо используйте абсолютный полный путь к команде, которую вы пытаетесь выполнить.
Сначала давайте проверим, правильно ли мы написали команду и существует ли она в системе.
Это можно сделать с помощью команды which.
Например, здесь мы проверяем расположение и существование команды tar:
$ which tar /usr/bin/tar
Здесь мы видим, что tar находится в каталоге /usr/bin.
Далее давайте проверим, присутствует ли /usr/bin в нашей переменной окружения PATH.
$ echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
В нашем случае каталог уже находится в переменной PATH.
Если бы он еще не был частью переменной PATH, то мы могли бы сослаться на полный путь к команде tar в нашем скрипте Bash:
$ /usr/bin/tar [options]
см. также:
- 🐧 Работа с переменной PATH на Linux. Это совсем не сложно.
- Как добавить путь к каталогу в переменную $PATH
- 📜 Модуль копирования Ansible [объяснение с примерами]
- ⚙️ Как исправить ошибку “bash: curl: command not found”
- ☸️ Как указать текстовый редактор по умолчанию для kubectl