Her iki komut dosyası bağlam iken edebilirsiniz (kabuk komut çağırabilir çünkü için herşeyi diğer kutu yapmak /usr/bin/osascript
bir AppleScript çağırmak için ve AppleScript sahiptir do shell script
komutu), gerçekten de daha iyi bir diğerinden daha uygundur kendisi için bağlamları vardır.
Her iki komut dosyası dili de "tutkal" dildir - kendileri için çok az şey yapabilirler ve bunun yerine görevlerinin çoğunu diğer programların yeteneklerini çağırarak yerine getirebilirler. Shell komut dosyaları Unix kanallarından yararlanırken, AppleScript tell application
sözdizimine sahiptir.
Ayrıldığı yerlerde, AppleScripts'in komut dosyası yazılabilir uygulamalarla (neredeyse her zaman GUI uygulamaları) doğrudan iletişim kurarken, kabuk komut dosyaları öncelikle komut satırı programlarıyla iletişim kurar (bazıları grafik kullanıcı arabirimlerini çağırabilir, ancak birçoğu bunu yapmaz).
Dosya yönetimi görevleri söz konusu olduğunda, her iki yaklaşım da işe yarayabilir. Bir edebilir Tell Application Finder
dosyaları kopyalamak veya çalıştırmak için cp
bir kabuk komut komutu. Öyleyse neden birini diğerinin üzerinde kullanıyorsunuz? Elbette bazı senaryo yazarları bir dile diğer dillerden daha aşinadır ve bu nedenle bu aracı kullanmayı tercih edecektir. Ancak senaryo kullanıcısı daha iyi bir düşüncedir. AppleScript genellikle Mac GUI'den çağrılabilir: bir AppleScript uygulamasını çift tıklamak veya dosyaları birine bırakmak veya sistem genelinde veya belirli bir program içinde bir AppleScript menüsü kullanarak. Mail gibi programlar, gelen iletileri filtrelemek için bir AppleScript çalıştıracak şekilde ayarlanabilir. Mac'leri "Mac benzeri" bir şekilde kullanmaya alışkın olan kullanıcılar için (yani, GUI'den), AppleScripts genellikle daha erişilebilirdir.
Shell komut dosyaları genellikle (ancak her zaman değil) Terminal'de yaşar. Terminal zaten kullanılıyorsa, bir kabuk betiği çalıştırmak bir AppleScript çağırmaktan daha uygun olabilir. Öte yandan, birçok kullanıcı bir Terminal penceresine komutlar yazarak veya hatta sihrini yapmak için bir Terminal penceresi açan bir komut dosyasını tıklatarak ertelenir. Şahsen kabuk komut dosyalarının sözdizimini AppleScripts'ten daha okunabilir buluyorum, ancak bu konuda azınlıkta olduğumdan şüpheleniyorum. Kabuk komut dosyaları , birçok farklı Unix benzeri sistemin kullanıcılarına aşinadır.
Her durumda, Mac'iniz üzerinde daha iyi kontrol elde etmek için her ikisi de güçlü araçlardır.