У меня есть файл script.sh, и тип этого файла - файл шеллскрипта. Я хочу сделать этот файл как application / x-исполняемый файл. Как я могу это сделать?
command-line
executable
Зияддин Садыгов
источник
источник
Ответы:
Вы можете пометить файл как исполняемый:
Затем вы можете выполнить это так:
Если вы хотите использовать другую команду для запуска, вы можете добавить псевдоним:
Добавьте это в конец файла:
Откройте новый сеанс терминала или введите
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.
Спасибо Илмари Каронен за то, что он указал на те, которые в общем использовании!
источник
Бегать:
Чтобы сделать его неисполнимым, запустите:
Например, я создал
.sh
файл:После того, как я напишу некоторый код в редакторе vi, я выйду из редактора vi:
источник