Amacım, müşterime / müşterilere Terminal'i açmasını ve bir kabuk komut dosyası çalıştırmasını bildirmek yerine, bir kısayolun ne anlama geldiğini bir zip dosyasına eklemektir.
Benim konuşlandırılabilirim aslında şöyle görünüyor:
$ unzip Deliverable.zip
$ cd Deliverable; ls
app.jar run.sh
Komut dosyası run.sh
:
#!/bin/sh
java -jar app.jar
Dizinde çok daha fazlası var; Ben bunu göreli yollara erişmek gerekir çünkü Teslim edilebilir dizinden komut dosyasını çalıştırmak gerekir söylemek yeterli . Ancak, bir müşterinin nerede açılacağını garanti edemiyorum Deliverable.zip
(ana dizin olabilir, doğrudan İndirilenler dizininde olabilir, vb.)
Bulduğum bu daha sonra, Automator'ın yeni iş akışı oluşturmak bir kabuk başlatmak için bir uygulama olarak kaydetmek için nasıl açıklayan. Bunu sarmak için yapmaya çalıştım run.sh
ama bulamadığını söylüyor run.sh
.
Birisi el yazısını kullanmamı önerdi ve bana şu anki dizine geçmek için el yazısını nasıl kullanacağımı gösteren bir bağlantı gönderdi; automator'da bir el yazısı "eylemi" var; bu yüzden yeni bir iş akışı yaptım ve bunu bir uygulama olarak kaydettim. Şöyle görünüyor:
Kod:
on run {input, parameters}
tell application "Finder"
set current_path to container of (path to me) as alias
end tell
do shell script "java -jar app.jar"
return input
end run
Ve bu, çalıştırdığımda aldığım hata:
Hadi, bu oldukça basit olmalı. Burada neyi yanlış yapıyorum?