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

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

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

69
задан 06.05.2020, 08:12

3 ответа

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

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


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

cd /path/to/target

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

chmod +x the_file_name
115
ответ дан 06.05.2020, 08:13
  • 1
    @wkhwilo-012, посмотрите, помогает ли это и don' t смущаются спрашивать больше.. – Inkh Su Tesou 06.05.2020, 08:13
  • 2
    Проблема, как я могу сделать это? Я - новый пользователь Ubuntu, которого я недавно переключил с окон. – vol7ron 06.05.2020, 08:14
  • 3
    @wkhwilo-012, скопируйте свой исполняемый файл Area_circumference и вставьте его (путь к файлу будет вставляться) обновить Ваш question' s тело... – Allen Wang 06.05.2020, 08:14
  • 4
    .. what' s Ваш рабочий каталог т.е. what' s местоположение Вашего файла исходного кода?.. у Вас есть некоторый опыт с окнами CLI? – CaffGeek 06.05.2020, 08:15
  • 5
    Как я могу изменить полномочия какие-либо примеры – CaffGeek 06.05.2020, 08:15

Вам нужно дать только разрешение на выполнение. Следуйте этому:

    chmod +x filename.sh
    ./filename.sh

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

20
ответ дан 06.05.2020, 08:12

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

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

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

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

  4. Выполните ./FILENAME YOUREVENTUALARGUMENTS для запуска исполняемого файла.

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

Если вы хотите, чтобы руководство для команды выполнялось man COMMAND (замените COMMAND на точное имя команды, Linux чувствительно к регистру).

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

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

Приятного общения с Linux Ubuntu.

2
ответ дан 06.05.2020, 08:13
  • 1
    Большое спасибо. Теперь я могу работать в соответствии с корневым каталогом. Операция Вы спросили меня ранее, не может быть разрешена. Это говорит, что у меня нет разрешения, но спасибо так или иначе за предложение. – vol7ron 06.05.2020, 08:13

Теги

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