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

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

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

71
задан 22 January 2014 в 13:36

3 ответа

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

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


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

cd /path/to/target

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

chmod +x the_file_name
0
ответ дан 22 January 2014 в 13:36

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

    chmod +x filename.sh
    ./filename.sh

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

0
ответ дан 22 January 2014 в 13:36

Откройте приложение терминала, нажав 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.

0
ответ дан 22 January 2014 в 13:36

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

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