← man/system_admin
osascript — man osascript — 80×24
ugur@toprak:~/man/system_admin$man osascript
Bölüm 1 Sistem Yönetimi

osascript

OSA betiklerini (AppleScript, JavaScript, vb.) yürütür

Sinopsis (Synopsis)

     osascript [-l dil] [-i] [-s bayraklar] [-e ifade | program_dosyası] [argüman ...]

Açıklama (Description)

osascript, Script Editor veya osacompile(1) tarafından oluşturulan düz metin (plain text) veya derlenmiş bir betik (.scpt) olabilen verilen OSA betiğini yürütür. Varsayılan olarak osascript düz metinleri AppleScript olarak ele alır, ancak bunu -l seçeneğini kullanarak değiştirebilirsiniz. Sisteminizde yüklü olan OSA dillerinin bir listesini almak için osalang(1) komutunu kullanın.

osascript betiği aşağıdaki üç yerden birinde arayacaktır:

  1. Komut satırında -e anahtarları kullanılarak satır satır belirtilen yerde.

  2. Komut satırındaki ilk dosya adı ile belirtilen dosyanın içinde. Bu dosya düz metin veya derlenmiş bir betik olabilir.

  3. Standart giriş (stdin) kullanılarak aktarılan yerde. Bu, yalnızca dosya adı argümanı olmadığında çalışır; STDIN'den okunan bir betiğe argüman iletmek için, betik adı yerine açıkça “-” belirtmelisiniz.

Betiği takip eden tüm argümanlar, “run” işleyicisinin (handler) doğrudan parametresine bir dize listesi olarak iletilecektir. Örneğin, AppleScript içinde:

a.scpt: on run argv return "hello, " & item 1 of argv & "." end run

% osascript a.scpt world hello, world.

Seçenekler aşağıdaki gibidir:

-e ifade Betiğin bir satırını girin. -e verilirse, osascript argüman listesinde bir dosya adı aramayacaktır. Çok satırlı bir betik oluşturmak için birden fazla -e seçeneği verilebilir. Çoğu betik, birçok kabuk programı için özel olan karakterler kullandığından (örneğin AppleScript tek ve çift tırnak işaretleri, “(”, “)” ve “*” kullanır), ifadenin kabuktan bozulmadan geçebilmesi için doğru şekilde tırnak içine alınması ve kaçış karakterleriyle korunması gerekecektir.

  • -i: Etkileşimli mod: osascript her seferinde bir satır için istemde bulunacak ve varsa sonucu her satırdan sonra yazdıracaktır. -e veya program_dosyası kullanılarak komut argümanı olarak sağlanan herhangi bir betik, etkileşimli istem başlamadan önce yüklenecek ancak yürütülmeyecektir.

-l dil Düz metin dosyaları için dili geçersiz kılar (override). Normalde düz metin dosyaları AppleScript olarak derlenir.

-s bayraklar Çıktı stilini değiştirir. bayraklar argümanı; e, h, o ve s değiştirici karakterlerinden oluşan bir dizedir. Aynı dizede birden fazla değiştirici birleştirilebilir ve birden fazla -s seçeneği belirtilebilir. Değiştiriciler birbirini dışlayan çiftler halinde gelir; çelişkili değiştiriciler belirtilirse, sonuncusu öncelik kazanır. Değiştirici karakterlerin anlamları aşağıdaki gibidir:

h Değerleri insan tarafından okunabilir biçimde yazdırır (varsayılan). s Değerleri yeniden derlenebilir kaynak biçiminde yazdırır.

osascript normalde sonuçlarını insan tarafından okunabilir biçimde yazdırır: dizelerin etrafında tırnak işaretleri bulunmaz, karakterler kaçış dizileriyle korunmaz, listeler ve kayıtlar için süslü parantezler atlanır, vb. Bu genellikle daha yararlıdır ancak belirsizliklere yol açabilir. Örneğin, ‘{"foo", "bar"}’ ve ‘{{"foo", {"bar"}}}’ listelerinin her ikisi de ‘foo, bar’ olarak görüntülenecektir. Sonuçları, aynı değere yeniden derlenebilecek belirsiz olmayan bir biçimde görmek için s değiştiricisini kullanın.

e Betik hatalarını stderr'e yazdırır (varsayılan). o Betik hatalarını stdout'a yazdırır.

osascript normalde betik hatalarını stderr'e yazdırır, böylece sonraki aşamadaki istemciler yalnızca geçerli sonuçları görür. Ancak otomatik testler çalıştırılırken, o değiştiricisinin kullanılması, eşleştirmek istediğiniz betik hatalarını diğer teşhis çıktılarından ayırt etmenizi sağlar.

Ayrıca Bakınız (See Also)

osacompile(1), osalang(1), AppleScript Language Guide

Tarihçe (History)

Mac OS X 10.0'daki osascript, çıktıdaki ‘\r’ karakterlerini ‘\n’ karakterlerine dönüştürüyordu ve bunu değiştirmek için -s seçeneğinde c ve r değiştiricilerini sağlıyordu. osascript artık çıktıyı her zaman olduğu gibi bırakmaktadır; gerekirse tr(1) aracılığıyla yönlendirin.

Mac OS X 10.4'ten önce osascript, betiğe argüman iletilmesine izin vermiyordu.

Mac OS X 24 Nisan, 2014 Mac OS X