Створіть глобальний ярлик для запуску програм командного рядка


31

Які кроки мені потрібні для запуску програми командного рядка за допомогою глобального ярлика?

Я налаштував Automator, щоб створити новий сценарій запуску оболонки і спробував призначити ярлик у системних налаштуваннях -> Клавіатура -> Комбінації клавіш, але нічого не сталося.


1
У мене питання інше. Я не хочу, щоб термінальне вікно взагалі відкривалося.
z-буфер

1
Якщо ви не хочете, щоб вікно терміналу взагалі відкривалося, ви запитуєте те саме, що і пов’язана публікація.
Даниїл

Відповіді:


8

Прикладіть це:

do shell script "ls ~/Desktop"

Додайте туди, що вам потрібно, тоді ви зможете запустити Applescript через глобальну програму гарячих клавіш. Я б порекомендував Spark

О, і я не знаю про призначення ярлика через Системні налаштування


Бінго. Як не дивно, ця функція ще не вбудована в OSX. Дуже дякую!
Адам Флотт

@Adam Так, це трохи дивно.
daviesgeek

8
Крім того, що він буде вбудований в OS X через Automator Services, @AdamFlott, це просто , що відповідь ви прийняли не використовувати цей метод.
Даниїл

2
Також AppleScript і Automator входять до ОС X.
Даніель

1
-1 для використання третіх осіб без вагомих міркувань.
cregox

32

Не знаючи специфіки того, що ви шукаєте, я б запропонував створити нову Службу через Automator . Служби можуть бути прив'язані до тригерів натискання клавіш і можуть виконувати сценарії оболонки (серед іншого). введіть тут опис зображення

Щоб налаштувати ярлик клавіатури, перейдіть до Налаштування системи -> Клавіатура -> Ярлики -> Послуги, виберіть службу, яку ви тільки що зберегли, і натисніть кнопку "Додати ярлик".


Мені незрозуміло після збереження служби, як налаштувати ярлик клавіатури.
Лірон Ягдав

@LironYahdav Див. Вище редагувати
Даніель

12

FastScripts включає всі скрипти в ~ / Бібліотека / Сценарії /, тому вам не доведеться додавати файли вручну. Він також підтримує спеціальні сценарії.

Інші програми, за допомогою яких можна призначити ярлики для запуску сценаріїв:

Ви також можете створити службу Automator:

  1. Відкрийте Automator і виберіть шаблон служби
  2. Додати сценарій запуску оболонки або запустити дію AppleScript
  3. Перевірте правильність типу вводу та області застосування
  4. Вставте сценарій і збережіть службу
  5. Призначте ярлик на панелі налаштувань клавіатури

Помилка в 10.7 та 10.8, де ярлики для служб не завжди працюють, доки на панелі меню не буде показано меню служб. Клавіші швидкого доступу до сервісів не працюють, якщо передній додаток не має рядка меню чи меню послуг. Перед запуском послуг також існує невелика затримка.


плюс один для згадування інших програм, які також роблять це. Я майже пішов встановити іскру, коли вже користувався QuickSilver. Я не знав, що це був варіант.
Марлон

також розділ на панелі "Налаштування клавіатури" для додавання ярлика буде знаходитися під розділом "Послуги", якщо використовується підхід Автоматизатора.
Бред Паркс

7

Я спробував усі ці варіанти, але вони занадто складні і ненадійні або дуже дорогі. Тому я закінчив писати власне рішення (з відкритим кодом та безкоштовно).

iCanHazShortcut

Зараз це не може зробити багато, але це початок. Не соромтеся робити внески, додаючи запити та пропозиції щодо функцій.


1
Я вже кілька годин намагаюся знайти просте рішення цієї проблеми, і ваша програма є єдиною, яка працює і робить те, що потрібно робити, без будь-яких складних дзвіночків. Спасибі!
Штійн Мартенс

@StijnMartens ласкаво просимо! В цьому і полягає вся ідея - якщо вам просто потрібний ярлик для команди, ви отримуєте ярлик для команди. Нічого більше, нічого менше.
десятень

Це прекрасно спрацювало.
Брайан Шермерхорн

2

Quicksilver можна використовувати для прив’язки гарячих клавіш до дій.

Якщо ви виявляєте, що робите щось часто, ви можете пришвидшити завдання ще більше, призначивши йому "тригер". Тригери можна активувати за допомогою комбінацій клавіш або рухів миші

Якщо ви хочете виконати команду або скрипт оболонки Unix, ця публікація Stackoverflow надає додаткову інформацію про використання «Термінального модуля» Quicksilver.


1

Я додам тут свою відповідь за допомогою BTT , оскільки це легко і насправді може бути пов'язано безпосередньо до сценарію командного рядка:

  1. Виберіть Клавіатуру від BTT

Виберіть Клавіатуру від BTT

  1. Введіть ярлик (або послідовність клавіш!)

Введіть ярлик (або послідовність клавіш!)

  1. Виберіть "Попередньо визначена дія" та введіть "оболонку", щоб знайти дію.

Виберіть "Попередньо визначена дія" та введіть "оболонку", щоб знайти дію.

  1. Ви можете вставити свій скрипт і оболонку, в яку потрібно запустити:

Ви можете вставити свій скрипт і оболонку, в яку потрібно запустити:

Натисніть кнопку "Зберегти", і ви закінчите! Тепер протестуйте свій сценарій за допомогою встановленого тригера клавіатури.

  1. ДОПОМОГА. Ви можете додати нотатки, щоб запам'ятати, що таке ярлик для ...

Ви можете додати нотатки, щоб запам'ятати, що таке ярлик для ...


Дякую, я закінчив цей маршрут, оскільки я маю BTT.
Лев Уфімцев

0

Схоже, це було доступно в 10.6, (див. Http://hints.macworld.com/article.php?story=20090903085255430 ), але щось порушилось у 10.7.2 (і, можливо, раніше 10.7)

Я виявив, що клавіатура клавіш Служби є честю , коли System Preferences знаходиться на передньому краї, але не в будь-якому іншому додатку, включаючи Finder.

Однак попередня пропозиція щодо використання Spark чудово працювала в леві, за винятком того, що я не міг використати Ctrl в ярлику клавіатури. (не показник!)


лише тоді, коли фокусирується меню програми. Якщо натиснути робочий стіл і спробувати ярлик, він не працює. натисніть на меню для пошуку, а потім спробуйте, і воно працює. У мене є сервіс для терміналу, який має ярлик і відображається у всіх додатках ... але це не працює, якщо я не в програмі, і навіть тоді меню потрібно зосередити увагу.
Марлон

@Lri навіть після виходу та повернення до системи, перезавантаження машини тощо. Це все ще не працює, якщо я не виконую так, як я описав вище. Встановлення його в Quicksilver працює. Мені хотілося б знати, як саме QuickSilver може спіймати ці "глобальні" ярлики, а не ОС.
Марлон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.