У меня есть файл script.sh, и тип этого файла - файл шеллскрипта. Я хочу сделать этот файл как application / x-исполняемый файл. Как я могу это сделать?
У меня есть файл script.sh, и тип этого файла - файл шеллскрипта. Я хочу сделать этот файл как application / x-исполняемый файл. Как я могу это сделать?
Ответы:
Вы можете пометить файл как исполняемый:
chmod +x filename.sh
Затем вы можете выполнить это так:
./filename.sh
Если вы хотите использовать другую команду для запуска, вы можете добавить псевдоним:
gedit ~/.bashrc
Добавьте это в конец файла:
alias <new name>='/home/<full path to script>/filename.sh'
Откройте новый сеанс терминала или введите source ~/.bashrcсвой терминал, чтобы применить. Затем просто используйте новое имя, чтобы запустить скрипт.
./filename.shа не только filename.sh?
filenameа не./filename
./filename.shуказывает файл в текущем каталоге, а использование filename.shуказывает файл в текущем каталоге или любом каталоге PATH. Первое использование удаляет любую неопределенность относительно того, к какому файлу осуществляется доступ. В этом случае вы пытаетесь выполнить сценарий с помощью bash или другого интерпретатора (в силу того, что он считается #!/bin/bashпервой строкой в вашем сценарии), просто введя имя файла. Для этого использования требуется указание каталога. Кроме того, вы можете попробовать, bash filename.shчто, кажется, работает с неопределенным каталогом.
Есть два способа сделать файл исполняемым:
GUI Метод:
Перейдите на вкладку «Права», затем установите флажок «Выполнить: [] Разрешить выполнение файла как программы».

Терминал / Командный метод:
Вы можете использовать:
cd /to/my/required/directory
Тогда беги
chmod +x filename.extension
Или просто запустите:
chmod +x /path/to/your/filename.extension
chmod также есть более продвинутые опции:
Пробелы должны показать, что это разделено: - rwx --- ---
Первый набор ---- Пользователь. Вторым является Группа, а последним является Другой (кто-либо еще)
r означает «Чтение», «w» - «Запись» и «x» - «eXecute».
Таким образом, чтобы позволить всем читать это, но только Группа для выполнения и Пользователь для чтения и записи (но по какой-то причине не выполнять) будут:
-rw- rx- r-- Но это будет добавлено к команде как:
chmod +rw-rx-r-- /path/to/file.extension
chmodТакже можно сделать это в цифрах. Он основан на двоичном коде (я думаю, что это 1,2 и 4)
Итак, есть эти цифры:
Выполнить пользователем есть 100. Выполнить по группе есть 010. Выполнить другим - 001
Написать пользователем есть 200. Написать по группе есть 020. Пиши другим есть 002.
Читается пользователем 400. Читать по группам есть 040. Читать другим есть 004.
Затем вы складываете их вместе, чтобы получить желаемую комбинацию.
Таким образом, разрешить всем читать это, но только Group для выполнения и User для записи (но по какой-то причине не выполнить) будет:
400 + 040 + 004и 010и200
Это в сумме составляет 600 + 050 + 004 = 654.
Затем вы можете запустить команду.
chmod +654 /path/to/file.extension установить это.
И чтобы установить все разрешения, вы можете набрать:
chmod +rwxrwxrwx /path/to/file.extension
Или (это немного легче написать, но труднее запомнить каждый):
chmod +777 /path/to/file.extension
Наконец, вы можете сделать:
chmod -777 /path/to/file.extension
Отнять все разрешения у всех.
А также:
chmod +300 /path/to/file.extension
Чтобы добавить чтение и запись для пользователя, не затрагивая другие разрешения (например, разрешения на выполнение).
Этот веб-сайт имеет очень полезную маленькую галочку с сеткой, с помощью которой вы можете пометить нужные опции и дать вам команду:

Однако не все возможные комбинации целесообразно использовать; основные из них следующие:
755 - Ownerимеет все, Groupи Otherможет читать и выполнять
700 - Ownerесть все
644 - Ownerможет читать и писать, Groupи Otherможет читать
600 - Ownerумеет читать и писать
И, если вы используете нетривиальные группы пользователей:
775 - Ownerумеет читать и писать, Groupа Otherможет читать
770 - Ownerи Groupесть все, и Otherумеет читать и исполнять
750 - Ownerимеет все, и Groupможет читать и выполнять
664 - Ownerи Groupумеет читать и писать, и Otherумеет просто читать
660 - Ownerи Groupумеет читать и писать
640 - Ownerумеет читать и писать, Groupумеет читать
777 и 666 используются редко, кроме как в / tmp.
Спасибо Илмари Каронен за то, что он указал на те, которые в общем использовании!