it-swarm.com.ru

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

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

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

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

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

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

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

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

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

в) сделать автоматизацию, чтобы как-то это сделать?

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

143
Jacob

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

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

chmod +x file.command

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

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

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

317
Chris Page

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

28
NobleUplift

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

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

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

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

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

cd/Users/yourName/Documents/SeleniumServer

Java -jar Selenium-server-standalone-3.3.1.jar -role hub

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

5
Manish