Как с помощью chmod сделать файлы .sh исполняемыми? [дубликат]

На этот вопрос уже есть ответ здесь:

Мой сенсорный оверлей не реагирует в портретной ориентации, но в альбомной ориентации мне пришлось страница, на которой я могу повернуть сенсорный ввод, чтобы он мог работать в портретной ориентации (используя этот совет на форумах Ubuntu ), поэтому мне нужно создать сценарии .sh и запустить их . Я впервые работаю со сценариями оболочки, и я использую те, что на этой странице, и он попросил меня не забыть установить chmod для выполнения для файлов .sh с использованием этого кода :

chmod 777 *.sh
1
задан 20 December 2018 в 13:57

3 ответа

  1. Простой способ в Kubuntu (Ubuntu то же самое). Свойства sh файла, которые вам нужно изменить.

solutionOne

  1. Просто откройте терминал и перейдите в папку, где вы обрабатываете файл .sh (как у меня ниже) и запустите chmod a+x foo.sh, где foo.sh - это имя скрипта.

    cd /path/to/script/directory
    chmod a+x foo.sh
    
3
ответ дан 20 December 2018 в 13:57

Вопрос звучит так: «Как автоматизировать создание исполняемых файлов .sh (или сценариев в целом)?» И ответ в том, что вы не можете без изменения разрешений по умолчанию для вновь создаваемых файлов. Это делается через umask . Файлы .sh не особенные, это просто текстовые файлы на самом базовом уровне. Но, конечно, вы не хотите менять umask, чтобы дать исполняемому разрешению любой случайный текстовый файл, который только что был создан, потому что вы открываете ящик с дырами в безопасности Pandora для себя.

Так что ответ таков: вы не можете автоматизировать это без необоснованной дыры в безопасности. Лучше всего просто научиться запускать chmod самостоятельно или запускать скрипты в качестве аргумента для соответствующего интерпретатора, такого как bash foo.sh. Или сделайте функцию оболочки, чтобы вызвать ваш любимый текстовый редактор для создания файла и затем chmod, например

makesh(){
    for i; do
        vi "$i"
        chmod +x "$i"
    done
 }

Я знаю, что этот ответ не очень забавный, но он практичный

0
ответ дан 20 December 2018 в 13:57

Перейдите к папке, где файл использует CD.

Выполнение следующая команда:

chmod a+x FILENAME.sh

Hope, который помогает.

0
ответ дан 13 April 2019 в 11:53

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

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