Yanıtlar:
Terminalde ilk olarak, komut dosyasını yazarak çalıştırılabilir yapın:
chmod a+x (yourscriptname)
Ardından, Finder'da dosyanızı sağ tıklayın ve "Birlikte aç" ı ve ardından "Diğer ..." i seçin.
Burada dosyanın yürütülmesini istediğiniz uygulamayı seçersiniz, bu durumda Terminal olur. Terminali seçebilmek için "Önerilen Uygulamalar" dan "Tüm Uygulamalar" a geçmeniz gerekir. (Terminal.app uygulaması Yardımcı Programlar klasöründe bulunabilir)
Bu uzantıya sahip tüm dosyaları terminalde çalışacak şekilde ilişkilendirmek istemiyorsanız "Her Zaman Birlikte Aç" seçeneğini işaretlememeniz gerektiğini unutmayın.
.command
olan varsayılan tarafından ihtiyaç duymadan Finder dan yürütülebilir, açmak için nasıl Finder talimat.
.command
dosyanızı dosya uzantısına yeniden adlandırın .
.command
Dosya adı uzantısını kullanmayı denediniz mi?
chmod +x
) sahip olmanız gerekiyor, ancak .command
uzantı Terminal'e zaten bağlı. Harika bir çözüm, teşekkür ederim
OSX 10.10'dan (Yosemite) ve en azından OS X 10.8'den (Mountain Lion) beri , Finder'dan yürütülebilir komut dosyalarını açtığınızda (çift tıkladığınızda) davranış aşağıdaki gibidir :
.command
:
Preferences... > Profiles
otomatik olarak kapatmayı seçebilirsiniz .cd -- "$(dirname "$BASH_SOURCE")"
Mesele hattından hemen sonracd -- "$(dirname "$0")"
,.chmod +x <script>
Terminal'de çalıştırarak çalıştırılabilir yapın ; aksi takdirde aşağıdaki belirtileri görürsünüz:.command
: Finder, sorunun düzeltilebileceğini öneren yanıltıcı bir hata iletisi görüntüler File > Get Info
, bu doğru değildir - chmod +x
yukarıda önerilen yöntemi kullanın .#!/bin/bash
): eki sanki davranıştır .sh
- aşağıya bakın..sh
içeren komut dosyaları :
TextEdit.app
Xcode.app
.scpt
komut dosyaları veya .applescript
(kendileri yürütülebilir olarak işaretlenmiş olsalar bile, normalde durum böyle değildir):
[Apple]Script Editor
[1] Yürütülebilirlik şu anlama gelir: yürütülebilir izin bit (ler) i ayarlanmış bir komut dosyası ve çağıran kullanıcı - dosyanın sahipliğine göre - bu nedenle potansiyel olarak yürütmesine izin verilir. Tüm izin bitlerini (tipik olanı) ayarlamak için
kullanırsanız , herkes onu çağırabilir ( okuma izni bit (ler) ine ve dosyanın sahipliğine göre dosyayı okumalarına izin verildiğini varsayarak ).chmod a+x
osascript
ekleyebileceğiniz basit bir pencereyle çıktığında açılan Terminal penceresini kapatmak mümkündür .command
.
osascript -e '...'
senaryonun sonuna komut eklemek mi istiyorsun ? Özel komut nedir ve komut dosyası en öndeki sekmede çalışmıyor olsa bile sağ sekmenin kapatılmasını sağlar mı?
osascript -e 'tell application "Terminal" to close front window' > /dev/null 2>&1 &
... her senaryoda çalışmayabilir, ancak son gerçekten anahtardır - osascript başka türlü kolayca adapte edilebilir (örn. terminal varsayılan davranışınız ise pencerenin sekmeye değiştirilmesi gerekebilir ).
.command
Profil ayarına rağmen komut dosyası çalıştırıldıktan sonra Terminal penceresinin / sekmesinin kapatılmasına izin verilmiyor mu?
bash
komut dosyasıysa, read -p 'Press Return to close this window.'
son ifade olarak ekleyin .
Alternatif olarak, Platypus kullanarak betiğinizden düzenli bir Mac OS X uygulaması oluşturabilirsiniz
Kolay yol, uzantıyı uzantı olarak değiştirmektir .command
.
Ama bu Terminali açacak ve kapatmanız gerekecek. Herhangi bir çıktı görmek istemiyorsanız, çift tıklayıp dock'a ekleyebileceğiniz bir Mac Uygulaması oluşturmak için Automator'u kullanabilirsiniz.
Automator
uygulamaRun
Test etmek için sağ üst köşedeki düğmeyi tıklayın .File > Save
Uygulama oluşturmak için.Platypus gibi üçüncü taraf uygulamaları kullanmaya gerek yoktur.
Komut Dosyası Düzenleyicisi ile bir Apple Komut Dosyası oluşturun ve do shell script "shell commands"
doğrudan komut çağrıları veya yürütülebilir kabuk komut dosyaları için komutu kullanın , düzenlenebilir komut dosyasını bir yerde güvende tutun ve ardından bir Uygulama komut dosyası oluşturmak için dışa aktarın. uygulama betiği çift tıklatılarak veya çubuk klasöründeki seçimle başlatılabilir.
Varsayılanları RCDefaultApp kullanarak dosya uzantısına göre de ayarlayabilirsiniz:
http://www.rubicode.com/Software/RCDefaultApp/
potansiyel olarak .sh'yi iTerm / Terminal vb. içinde açılacak şekilde ayarlayabilirsiniz.
chmod u+x filename.sh