Есть ли способ сделать файл, который будет запускать команду терминала при нажатии на нее?

15

Есть ли способ сделать файл, который будет запускать команду терминала при нажатии на нее? Как и расширение .bat в окнах?

    
задан Chaos 22.02.2012 в 20:00
источник

3 ответа

32

Откройте текстовый редактор и введите следующую строку: #! /bin/bash . Оставьте пустую строку и начните вводить свои команды. Сохраните файл, расширение не имеет значения. Перейдите в файл в вашем файловом менеджере, щелкните его правой кнопкой мыши, откройте диалоговое окно свойств, перейдите на вкладку «Разрешения» в диалоговом окне, установите флажок «Разрешить выполнение этого файла» и нажмите кнопку закрытия. Теперь вы можете дважды щелкнуть файл и выбрать запустить его в окне терминала .

    
ответ дан RobinJ 22.02.2012 в 20:06
источник
8

В Linux они называются сценариями более точных сценариев оболочки.

Linux не заботится о том, что расширение файла, он будет смотреть на разрешения файла, чтобы определить, установлен ли файл как исполняемый файл и будет запускать его, если это так.

Вы можете создать сценарий с любым любимым текстовым редактором, просто открой его и начните писать сценарии, вы можете использовать любой интерпретатор интерпретатора оболочки, который вы хотите использовать в качестве обычного используемого bash и sh .

Обычно вы запускаете свои скрипты, объявляя, какой командный интерпретатор вы хотите использовать, #!/bin/bash для bash и #!/bin/sh для sh. После этого вы можете начать вводить команды в строки сценария так же, как в Windows с пакетными сценариями.

После того, как вы сделали редактирование, сохраните файл и сделайте его выполнимым.

Вы можете открыть терминал и набрать chmod 755 foo (где foo - имя вашего скрипта) или щелкнуть правой кнопкой мыши по только что созданному файлу и на вкладке «Разрешения» щелкнуть по Сделать исполняемый файл .

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

Хорошим началом изучения сценариев оболочки Linux является LinuxCommand.org , они учат вас, что вам нужно, как это сделать и есть много хороших примеров в сценариях, на которые вы можете взглянуть.

    
ответ дан Bruno Pereira 22.02.2012 в 20:17
1

Если это простая однострочная команда, вы можете создать файл .desktop , например, для простой команды копирования, например (в самой симпатичной форме):

[Desktop Entry]
Name=Simple Copy
Exec=/bin/bash -c 'cp <source> <destination>'
Type=Application

Поместите команду между кавычками, сохраните файл с расширением .desktop , сделайте его исполняемым и запустите его двойным щелчком.

Вы можете сделать файл .desktop более сложным, добавить параметры, ключевые слова, установить значок и т. д.
См. эту ссылку .

    
ответ дан Jacob Vlijm 06.12.2014 в 11:19