Mục tiêu của tôi là bao gồm trong một tệp zip số tiền cho một phím tắt, thay vì nói với (các) khách hàng của tôi mở Terminal và chạy tập lệnh shell.
Triển khai của tôi về cơ bản trông như thế này:
$ unzip Deliverable.zip
$ cd Deliverable; ls
app.jar run.sh
Tập lệnh trong run.sh
:
#!/bin/sh
java -jar app.jar
Có nhiều hơn nữa trong thư mục; đủ để nói rằng tôi cần chạy tập lệnh từ thư mục Có thể phân phối được vì tôi cần truy cập các đường dẫn liên quan đến nó. Tuy nhiên, tôi không thể đảm bảo nơi khách hàng sẽ mở Deliverable.zip
(có thể là thư mục chính, có thể ở ngay trong thư mục Tải xuống, v.v.)
Tôi đã tìm thấy điều này mô tả cách tạo một quy trình công việc mới trong Automator, sau đó lưu nó dưới dạng một ứng dụng để khởi chạy một tập lệnh shell. Tôi đã cố gắng làm điều đó để bọc run.sh
nhưng nó nói rằng nó không thể tìm thấy run.sh
.
Ai đó đề nghị tôi sử dụng applescript và cũng gửi cho tôi một liên kết đến cách sử dụng applescript để chuyển sang thư mục hiện tại; có một "hành động" táo bạo trong máy tự động; Vì vậy, tôi đã thực hiện một quy trình công việc mới với điều đó và lưu nó dưới dạng một ứng dụng. Đây là những gì trông giống như:
Mật mã:
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
Và đây là lỗi tôi gặp phải khi chạy nó:
C'mon, điều này sẽ khá đơn giản. Tôi đang làm gì sai ở đây?