Bash не распознает скрипт

Я плохо знаком с сценариями и пытаюсь учиться на видео и книгах. Когда я пишу свой первый скрипт, bash воспринимает его как команду, а не как исполняемый файл (да, я использовал 775). Вот пример скрипта и ошибки bash:

#!/bin/bash
echo"TTTTTTT"
exit
turan_first: command not found

Я настолько новичок, что даже не знаю, в чем проблема. Пожалуйста, помогите.

0
задан 28 July 2019 в 19:51

1 ответ

При вызове программы или сценария оболочка ищет его каталоги, объявленные в PATH переменная. Кроме того, если Вы вызываете программный файл, указывающий путь - абсолютный или относительный -
Конечно, пользователь, называющий сценарий или программный файл, должен иметь исполняемое право разрешения на файле

aprogram          ## Looks for the file in directories declared in PATH
/path/to/aprogram ## Looks for aprogram in /path/to
./aprogram        ## Looks in current directory for aprogram


Посмотрите echo $PATH

~/turan_first исполняемый файл содержит

#!/bin/bash
echo "TTTTTTT"
exit
  • Пространство требуется после команды echo, или привычка оболочки распознает его
  • exit бесполезно, в то время как сценарий обычно заканчивается
  • Назовите сценарий с ~/turan_first или в то время как подсказка находится в ~/, назовите его с ./turan_first


Хорошая практика должна сохранить весь Ваш сценарий в специализированном каталоге. Сказать ~/Scripts
В этом случае Вы получаете привычку назвать Ваши сценарии с ~/Scripts/turan_first использование автозавершения.
Следующий шаг мог быть должен добавить Ваш каталог Scripts к переменной окружения PATH. Так, чтобы Вы могли назвать свои сценарии без любого пути указанными.
Отредактируйте bashrc файл: nano ~/.bashrc и добавьте строку
export PATH="~/Scripts:$PATH"
2
ответ дан 23 October 2019 в 08:37

Другие вопросы по тегам:

Похожие вопросы: