Bash Script chỉ chạy trong terminal


0

Tôi đã tạo một tập lệnh Bash có thể chạy được trên bất kỳ máy nào. Vấn đề tôi gặp phải nó sẽ chỉ chạy trong thiết bị đầu cuối. Khi người dùng nhấp đúp vào tập lệnh, một số người dùng sẽ mở nó trong iTerm và một số trong Xcode ở chế độ đọc. Bất kỳ ý tưởng làm thế nào để có nó thực thi trong các chương trình này hoặc làm cho nó chỉ cụ thể cho thiết bị đầu cuối?

Ngoài ra, tôi gặp sự cố vì tập lệnh tôi đang chạy khi được mở từ "Nhà phát triển không xác định". Tôi biết cách giải quyết thủ công từ các tùy chọn hệ thống, nhưng dù sao cũng có thể tự động hóa trong tập lệnh?

Câu trả lời:


1

Thêm .commandphần mở rộng

Để mở tập lệnh bash và thực thi trong Terminal.app của macOS, hãy thêm hậu tố .commandvào tên tệp.

Nếu bạn có một tập lệnh bash được gọi myscript.sh, hãy đổi tên nó thành myscript.command. Sau khi được đổi tên, khi tệp được nhấp đúp hoặc mở từ Finder của macOS, Terminal.app sẽ mở và thực thi tệp.

Ký mã

Các nhà phát triển Unidentified cảnh báo xuất hiện bởi vì kịch bản được không mã ký. Đó là một cảnh báo hợp lý từ macOS, vì một kịch bản có thể gây hại.

Nếu bạn đang phân phối tập lệnh thông qua một trang web, bạn cần mã ký vào tải trọng hoặc nội dung. Làm thế nào để đạt được điều này tốt nhất phụ thuộc vào môi trường của người dùng của bạn.

Xem làm cho một tệp bash thực thi chạy khi được nhấp để có các cách tiếp cận hợp lý, chẳng hạn như trình bao bọc AppleScript hoặc thú mỏ vịt .

Gói AppleScript

Bạn có thể nhúng tập lệnh shell trong AppleScript. AppleScripts đã xuất có thể được thực thi và ký mã:

 Applications > Utilities > Script Editor.app

Sử dụng lệnh do shell scriptTệp> Xuất khi bật ký mã.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.