Отказано в разрешении при запуске скриптов .sh

./geany_run_script.sh: 5: ./geany_run_script.sh: ./Area_circumference: Permission denied

program exited with code: 126. Эта проблема всегда возникает, когда я пытаюсь выполнить свой код. Каким может быть решение?

Вот ссылка, которая объясняет о Изменение разрешения файла (и владельца)

Если вы хотите пропустить это (на данный момент, конечно), вы можете создать каталог / папку в своем домашнем каталоге пользователя и поработать над своим C программы (или другие) там.


Вы можете открыть терминал (нажмите Ctrl + Alt + T) и cd в целевой каталог:

cd /path/to/target

Чтобы предоставить файлу "the_file_name" разрешение на выполнение (если файловая система позволяет вам с правами RW):

chmod +x the_file_name

Вам нужно дать execute и read разрешения. Следуйте этому:

chmod u+r+x filename.sh./filename.sh

Когда мы создаем новый файл скрипта, то по умолчанию у него есть разрешение на чтение и запись.Но если мы хотим их выполнить, то мы должны дать разрешение на выполнение, как показано выше.

Одного бита выполнения недостаточно для сценариев оболочки, необходимо также иметь возможность читать файл, чтобы выполнить его (в отличие от двоичных файлов, которым требуется только бит разрешения на выполнение)

Откройте приложение терминала, нажав CTRL + ALT + T или с помощью подходящего ярлыка в графической среде (например Terminal или xTerm).
В появившемся на экране окне формы вы увидите мигающий символ, это terminal cursor: просто нажмите на окно и напишите, чтобы ввести текст (обычно команды) и нажмите ENTER для подтверждения ввода.
Перед курсором всегда указывается ваше текущее положение в файловой системе из root directory ("/"), а ваш дом (где находятся ваши личные файлы) называется "~".
Чтобы изменить каталог / папку, используйте cd EXISTENTFOLDER (замените EXISTENTFOLDER именем папки); если вы чувствуете себя потерянным, просто введите cd чтобы вернуться в свой домашний каталог в мгновение ока!
Сейчас давайте решим вашу проблему:

  1. Используйте cd команда для поиска каталога с вашим исходным кодом. Воспользуйся TAB чтобы помочь тебе. Если вы выполните ls -lh, вы увидите список возможных путей для следования и файлов для выполнения.

  2. Когда вы найдете заблокированный файл, выполните chmod +x FILENAME (замените ИМЯ файла именем вашего файла исходного кода).

  3. Если у вас есть несколько заблокированных файлов, выполните chmod +x * чтобы разблокировать все файлы в текущем каталоге. Никогда не chmod +x опасные или небезопасные файлы.

  4. Выполнять ./FILENAME YOUREVENTUALARGUMENTS чтобы запустить ваш исполняемый файл.

  5. Помните, что если ваша скомпилированная программа попытается выполнить чтение / запись за пределами вашего домашнего каталога, вам нужно будет выполнить ее как root с помощью sudo ./FILENAME YOUREVENTUALARGUMENTS.

Если вы хотите получить руководство по выполнению команды, выполните man COMMAND (замените КОМАНДУ точным именем команды, Linux чувствителен к регистру).

Некоторые оболочки имеют Open terminal here команда для упрощения вашей жизни, ищите ее в будущем и помните, что командная оболочка может быть вашим лучшим другом, если вы хорошо ею пользуетесь. :-D

Это все. Если вам нужна дополнительная помощь, прокомментируйте здесь.
Если я помогаю вам, нажмите стрелку ВВЕРХ слева; если вы решите, отметьте этот ответ как лучший ответ.

Приятного вам опыта работы с Linux и Ubuntu.

Ошибка “Отказано в разрешении” возникает только в том случае, если у вас недостаточно привилегий для доступа к этому файлу.

Как я могу изменить разрешения

Где мне это сделать, пожалуйста, дайте мне примерный пример

Когда я это делаю, он сообщает мне этот chmod: не удается получить доступ `geany_run_script.sh ': Такого файла или каталога нет. Должен ли я запустить его с терминала или как?

возможный дубликат Как мне запустить файлы .sh в терминале?