Tıklandığında Terminal'i açan ve belirli bir satırı yazan ve yürüten bir dosya oluşturmanın bir yolu var mı? (örneğin say hello world)
Tıklandığında Terminal'i açan ve belirli bir satırı yazan ve yürüten bir dosya oluşturmanın bir yolu var mı? (örneğin say hello world)
Yanıtlar:
Basit, ama tamamen yanılabilir bir yaklaşım sadece bir kabuk betiği yazmaktır. Bunu denilen bir dosyaya kaydedin mysay.sh:
#!/bin/sh
say hello world
say number five is alive
XCode kurulu olmadığı sürece, üzerine çift tıkladığınızda Terminalde açılacak olan.
Bunu AppleScript ile de yapabilirsiniz ve biraz daha dayanıklıdır çünkü .shdosyalar için varsayılan uygulama Terminal değilse endişelenmenize gerek yoktur.
tell application "Terminal"
set currentTab to do script "/usr/bin/say hello world"
do script "/usr/bin/say number five is alive" in currentTab
end tell
delay 5
tell application "Terminal" to quit
Bunu AppleScript Editör'den bir Uygulama olarak kaydedin; üzerine çift tıklayabilirsiniz; Mac'iniz sizinle konuşacaktır. İsterseniz Terminal oturumunu daha sonra biraz daha AppleScript ile bekleyebilir ve kapatabilirsiniz.
Yapmaya çalıştığınız şey, bir "kabuk betiği" yazmaktır (daha sonra google’a gitmeniz gerekebilir).
Bir kabuk betiğinin ilk satırı hangi tercümanın kullanılacağını belirtmelidir. Senin durumunda, shnormal Bourne kabuğu için kullanın . Bunu şöyle bir 'shebang' olarak adlandırılan ile yazıyorsunuz:
#!/bin/sh
bu yazdıktan sonra çalıştırmak istediğiniz komutları yazın, sizin durumunuzda say hello world. Kabuk tercümanı bunu terminale yazdığınız gibi okuyacaktır.
Senin durumunda, son dosyanız şöyle olmalı:
#!/bin/sh
say hello world
Bunu TextEdit.app dosyasına yazarsanız, düz metin modunda ( Cmd+ Shift+ ile değiştirilir T) kaydettiğinizden emin olun . Uzantı .commandveya ile kaydetmeyi seçebilirsiniz .sh.
Eğer çift tıklayarak çalıştırmak istiyorsanız .commanduzatma tavsiye ederim .
Ve bu kadar!
Olası hata: Eğer çalıştırırken şöyle bir hata mesajı alırsınız:
Uygun erişim ayrıcalıklarına sahip olmadığınız için “[dosyaadı]” dosyası çalıştırılamadı.
Kendine yürütme izni vermen gerekiyor. Bu işlemi yapmak için:
chmod u+x path/to/my/file
Dosya yolunun ne olduğunu bilmiyorsanız, sadece şunu yazın:
chmod u+x
bir boşluk bırakın ve dosyayı pencereye sürükleyin.
Merak ediyorsanız, u+xkullanıcı (sahibi) yürütme haklarını vermek anlamına gelir.
chmod u+x?
Bunu, yukarıda belirtildiği gibi AppleScript ile, Ian C ile de yapabilirsiniz. Ancak, tek komutu daha az satırda ve a ile yapabilirsiniz delay. İşte komutu çalıştıracak bir AppleScript, sonra 5 saniye bekledikten sonra terminalden çıkın.
tell application "Terminal" to do script "say hello world"
delay 5
tell application "Terminal" to do script "logout"
tell application "Terminal" to quit
@Ian C.'nin yöntemine göre sadece alternatif bir yöntem. Ayrıca, Ian'ın .sh dosyasını da alabilir ve XCode'unuz varsa, Terminal'de açacak ve AppleScript ile aynı şeyi gecikme olmadan yapacak şekilde, .command olarak yeniden adlandırabilirsiniz. Bu yardımcı olur umarım.