เป้าหมายของฉันคือการรวมไว้ในไฟล์ zip ว่ามีจำนวนเท่าใดในทางลัดแทนที่จะบอกลูกค้าของฉันเพื่อเปิด Terminal และเรียกใช้เชลล์สคริปต์
การใช้งานของฉันเป็นหลักดูเหมือนว่านี้:
$ unzip Deliverable.zip
$ cd Deliverable; ls
app.jar run.sh
สคริปต์ในrun.sh
:
#!/bin/sh
java -jar app.jar
มีอีกมากในไดเรกทอรี; เพียงพอที่จะบอกว่าฉันต้องเรียกใช้สคริปต์จากไดเรกทอรีDeliverableเนื่องจากฉันต้องการเข้าถึงเส้นทางที่เกี่ยวข้องกับมัน อย่างไรก็ตามฉันไม่สามารถรับประกันได้ว่าลูกค้าจะเปิดที่ไหนDeliverable.zip
(อาจเป็นโฮมไดเร็กตอรี่อาจอยู่ในไดเรคทอรีดาวน์โหลด ฯลฯ )
ฉันพบสิ่งนี้ซึ่งอธิบายวิธีสร้างเวิร์กโฟลว์ใหม่ใน Automator จากนั้นบันทึกเป็นแอปพลิเคชันเพื่อเปิดใช้เชลล์สคริปต์ ผมพยายามที่จะทำแบบนั้นกับห่อแต่มันบอกว่ามันไม่สามารถหาrun.sh
run.sh
มีคนแนะนำว่าฉันใช้ applescript และส่งลิงก์ให้ฉันถึงวิธีใช้ applescript เพื่อเปลี่ยนเป็นไดเรกทอรีปัจจุบัน มี "การกระทำ" ของ applescript ใน automator; ดังนั้นฉันจึงสร้างเวิร์กโฟลว์ใหม่ด้วยสิ่งนั้นและบันทึกเป็นแอปพลิเคชัน นี่คือสิ่งที่ดูเหมือนว่า:
รหัส:
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
และนี่คือข้อผิดพลาดที่ฉันได้รับเมื่อฉันเรียกใช้:
C'mon นี่ควรจะค่อนข้างง่าย ฉันทำอะไรผิดที่นี่