Как сделать этот файл .sh исполняемым с помощью двойного щелчка? - PullRequest
148 голосов
/ 07 декабря 2011

Во-первых, я использую Mac.

Далее мне нужно выполнить этот "file.sh", мы его назовем.Каждый раз, когда мне нужно выполнить его, я должен открыть Терминал и набрать:

cd /Users/Jacob/Documents/folderWithFileInIt
bash file.sh

Это нормально, но я чувствую, что было бы намного быстрее, если бы я выполнял файл при двойном щелчке, невы думаете?

Итак, мой вопрос, как мне сделать этот файл исполняемым с помощью двойного щелчка?

Мои идеи были либо:

a) напечатать что-то вроде chmod в терминали изменить права доступа?

b) создать файл, поместить в него код, который я написал выше ^, а затем сделать этот файл исполняемым?

c) как-нибудь автоматизировать это?

Какой путь лучше или есть еще лучший способ?Также, пожалуйста, объясните как можно больше, я новичок в Терминале.Благодаря.

Ответы [ 4 ]

322 голосов
/ 11 марта 2012

По умолчанию файлы *.sh открываются в текстовом редакторе (Xcode или TextEdit). Чтобы создать сценарий оболочки, который будет выполняться в Терминале при его открытии, назовите его с расширением «command», например, file.command. По умолчанию они отправляются в терминал, который запустит файл в виде сценария оболочки.

Вам также необходимо убедиться, что файл является исполняемым, например ::

chmod +x file.command

Без этого Терминал откажется выполнить его.

Обратите внимание, что сценарий не обязательно должен начинаться с префикса #! в этом конкретном сценарии, поскольку Terminal специально организует его выполнение с вашей оболочкой по умолчанию. (Конечно, вы можете добавить строку #!, если хотите настроить, какая оболочка используется, или если вы хотите убедиться, что вы можете выполнить ее из командной строки при использовании другой оболочки.)

Также обратите внимание, что Terminal выполняет сценарий оболочки без изменения рабочего каталога. Вам нужно будет начать свой сценарий с команды cd, если вам действительно нужно запустить ее с определенным рабочим каталогом.

29 голосов
/ 24 июля 2013

Удалите расширение полностью, а затем дважды щелкните по нему.Большинство сценариев системной оболочки похожи на это.Пока у него есть шебанг , оно будет работать.

13 голосов
/ 07 июня 2013

Вы можете просто сказать Finder, чтобы открыть файл .sh в Терминале:

  1. Выберите файл
  2. Получить информацию (cmd-i) о нем
  3. В разделе «Открыть с помощью» выберите «Другое…» во всплывающем меню
  4. Выберите терминал в качестве приложения

Это будет иметь тот же эффект, что и переименование в .command кроме ... вам не нужно переименовывать его:)

5 голосов
/ 02 мая 2017
  1. Запустить терминал
  2. Тип -> nano fileName
  3. Вставить содержимое пакетного файла и сохранить его
  4. Тип -> chmod + x fileName
  5. Это создаст exe-файл, теперь вы можете дважды щелкнуть по нему.

Имя файла должно быть в двойных кавычках.Поскольку я использую Mac-> В моем случае содержимое командного файла равно

cd / Users / yourName / Documents / SeleniumServer

java -jar selenium-server-standalone-3.3.1.jar -role hub

Будет работать наверняка

...