Komut satırı uygulamalarını çalıştırmak için genel kısayol oluşturma


31

Genel bir kısayol üzerinden bir komut satırı programını çalıştırmak için hangi adımlara ihtiyacım var?

Automator'ı yeni bir Run Shell Script oluşturmak üzere ayarlarım ve Sistem Tercihleri ​​-> Klavye -> Klavye Kısayollarında bir kısayol atamaya çalıştım, ancak hiçbir şey olmadı.


1
Benim sorum farklı. Hiç bir terminal penceresinin açılmasını istemiyorum.
z-buffer

1
Bir Terminal penceresinin hiç açılmasını istemiyorsanız, bağlantılı gönderiyle aynı şeyi soruyorsunuz.
Daniel

Yanıtlar:


8

Uygula:

do shell script "ls ~/Desktop"

İstediğinizi ekleyin, sonra Applescript'i genel bir kısayol tuşu uygulaması ile çalıştırabilirsiniz. Spark tavsiye ederim

Oh, ve Sistem Tercihleri’nden kısayol atamayı bilmiyorum


Bingo. Garip bu işlevsellik zaten OSX'te yerleşik değildir. Çok teşekkürler!
Adam Flott

@Adam Evet, biraz garip.
daviesgeek

8
Automator Services, @AdamFlott aracılığıyla OS X'e dahil edilmiş olması dışında, sadece kabul ettiğiniz yanıtın bu yöntemi kullanmamasıdır.
Daniel

2
Ayrıca, AppleScript ve Automator , OS X'in bir parçasıdır
Daniel

1
-1, iyi niyetli sebep olmadan 3. şahısları kullanmak için.
cregox

32

Eğer aradığınızı özelliklerini bilmeden, ben yeni oluşturarak öneririm Servisi aracılığıyla Automator'ın . Hizmetler, tuş tetikleyicilerine bağlanabilir ve kabuk komut dosyalarını çalıştırabilir (diğer şeylerin yanı sıra). görüntü tanımını buraya girin

Klavye kısayolunu ayarlamak için, Sistem Tercihleri ​​-> Klavye -> Kısayollar -> Servisler'e gidin, az önce kaydettiğiniz hizmeti seçin ve ardından "Kısayol Ekle" düğmesini tıklayın.


Servisi kaydettikten sonra klavye kısayolunu nasıl kurduğum belli değil.
Liron Yahdav

@ LironYahdav Yukarıdaki düzenlemeye bakın
Daniel

12

FastScripts , ~ / Library / Scripts / içerisindeki tüm komut dosyalarını içerir, böylece dosyaları manuel olarak eklemek zorunda kalmazsınız. Ayrıca uygulamaya özel komut dosyalarını da destekler.

Komut dosyalarını çalıştırmak için kısayollar atamak için kullanılabilecek diğer uygulamalar:

Bir Automator servisi de oluşturabilirsiniz:

  1. Automator'ı açın ve Servis şablonunu seçin
  2. Run Shell Komut Dosyası Ekleme veya AppleScript Çalıştır işlemi ekleme
  3. Giriş türünün ve uygulama kapsamının doğru olduğunu kontrol edin
  4. Komut dosyasını yapıştırın ve servisi kaydedin
  5. Klavye tercih bölmesinde bir kısayol atama

10.7 ve 10.8'de, servisler için kısayolların servisler menüsü menü çubuğunda gösterilinceye kadar çalışmadığı bir hata var. Servisler için kısayollar, en öndeki uygulamanın bir menü çubuğu veya bir servis menüsü olmadığında çalışmaz. Servislerin çalıştırılmasından önce de kısa bir gecikme var.


artı bir de bunu yapan diğer uygulamalardan bahsettiğiniz için. QuickSilver'ı kullandığımda neredeyse kıvılcım kurmaya gittim. Bu seçeneğin olduğunu bilmiyordum.
Marlon,

ayrıca, Kısayol eklemek için "Klavye tercihleri" bölmesindeki bölüm, Automator yaklaşımını kullanıyorsa "Hizmetler" bölümünde olacaktır.
Brad Parks,

7

Tüm bu seçenekleri denedim, ancak çok karmaşık ve güvenilmez ya da gerçekten pahalılar. Böylece kendi çözümümü yazdım (açık kaynaklı ve özgür).

iCanHazShortcut

Şu anda fazla bir şey yapamıyor, ama bu bir başlangıç. Özellik istekleri ve önerileri ekleyerek katkıda bulunmaktan çekinmeyin.


1
Birkaç saattir bu problem için kolay bir çözüm bulmaya çalışıyorum ve uygulamanız karmaşık bir çan ve ıslık olmadan yapması gereken ve çalışan tek şey. Teşekkürler!
Stijn Martens

@StijnMartens hoş geldiniz! Bunun arkasındaki bütün fikir bu - bir komut için bir kısayola ihtiyacınız varsa, bir komut için kısayol alırsınız. Ne fazla ne eksik.
00'da 0:27

Bu güzel çalıştı.
Brian Schermerhorn

2

Quicksilver , kısayol tuşlarını eylemlere bağlamak için kullanılabilir.

Kendinizi sık sık bir şey yaparken bulursanız, ona bir “tetikleyici” atayarak görevi daha da hızlandırabilirsiniz. Tetikleyiciler klavye kısayolları veya fare hareketleriyle etkinleştirilebilir

Çalıştırmak istediğiniz bir Unix komutu veya kabuk betiği ise, bu Stackoverflow gönderisi Quicksilver'ın "Terminal modülü" kullanımı hakkında daha fazla bilgi verir.


1

Yanıtımı BTT kullanarak buraya ekleyeceğim , çünkü kolay ve aslında doğrudan komut satırı komut dosyasına bağlanabilir:

  1. BTT'den Klavye Seçin

BTT'den Klavye Seçin

  1. Kısayolunuzu girin (veya tuş sırasını!)

Kısayolunuzu girin (veya tuş sırasını!)

  1. "Önceden Tanımlanmış İşlemi Tetikle" yi seçin ve işlemi bulmak için "kabuk" yazın.

"Önceden Tanımlanmış İşlemi Tetikle" yi seçin ve işlemi bulmak için "kabuk" yazın.

  1. Çalıştırmak istediğiniz komut dosyanızı ve kabuğunuzu yapıştırabilirsiniz:

Çalıştırmak istediğiniz komut dosyanızı ve kabuğunuzu yapıştırabilirsiniz:

Kaydet'i tıkladığınızda işiniz biter! Şimdi betiğinizi kurduğunuz klavye tetikleyicisiyle test edin.

  1. EKSTRA: Kısayolun ne işe yaradığını hatırlamak için notlar eklemek isteyebilirsin ...

Kısayolun ne olduğunu hatırlamak için notlar eklemek isteyebilirsiniz ...


BTT'ye sahip olduğum için teşekkür ederim.
Leo Ufimtsev

0

Bu, 10.6’da mevcut gibi görünüyor, (bkz. Http://hints.macworld.com/article.php?story=20090903085255430 ) ancak 10.7.2’de bir şey kırıldı (ve muhtemelen 10.7’den önce)

Ben Hizmetler klavye kısayolu olduğunu olsa bulduk edilir Sistem Tercihleri ancak Finder dahil başka hiçbir uygulama içinde, ön planda olduğunda onurlandırdı.

Bununla birlikte, Spark'ı kullanmanın önceki önerisi , klavye kısayolumda Ctrl kullanamadığım haricinde aslanla mükemmel bir şekilde çalıştı. (bir gösterici değil!)


yalnızca uygulama menüsü odaktayken. Masaüstünü tıklar ve kısayolu denediyseniz çalışmaz. bulucu için menüyü tıklayın ve sonra deneyin ve çalışır. Kısayol olan ve tüm uygulamalarda görünen Terminal için bir hizmetim var ... ancak bir uygulamanın içinde değilsem ve o zaman bile menünün odaklanması gerekiyorsa işe yaramaz.
Marlon

@ Oturum açtıktan ve tekrar girdikten sonra bile, makineyi yeniden başlattım, vb. Hatta yukarıda açıklandığı gibi yapmazsam hala çalışmıyor. Quicksilver'da ayarlamak olsa da çalışır. QuickSilver'ın işletim sisteminin değil, bu "global" kısayolları nasıl yakalayabildiğini bilmek istiyorum.
Marlon,
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.