Bagaimana menjalankan skrip shell dari AppleScript?

5

Saya menggunakan Mac yang menjalankan OSX Yosemite v.10.10.5.

Ketika saya mencoba menjalankan skrip shell saya dari AppleScript saya, saya mendapatkan pesan kesalahan berikut:

Pesan kesalahan di Editor Skrip AppleScript
error "sh: /Users/path/to/file/myShellScript.sh: Permission denied" number 126
myShellScript.sh
cd /Users/myusername/Git/myproject/
git remote remove origin
myAppleScript.applescript
do shell script "/Users/path/to/file/myShellScript.sh"

Apa yang saya lakukan salah?

Mowzer
sumber

Jawaban:

4

Untuk tidak mendapatkan kesalahan itu, Anda harus membuatnya myShellScript.sh dieksekusi.

Di Terminal, gunakan perintah berikut:

chmod u+x /path/to/file/myShellScript.sh

Anda juga harus menambahkan peristiwa ke bagian atas naskah .

Contoh: #!/bin/bash

Catatan: Gunakan yang sesuai peristiwa Untuk kulit Anda ingin memproses naskah .

Jika Anda tidak ingin membuat naskah dapat dieksekusi, meskipun saya tidak dapat melihat alasan yang tidak ingin, Anda dapat menjalankannya di AppleScript seperti dalam contoh berikut:

do shell script "bash /path/to/file/myShellScript.sh"

Catatan: Jika Anda ingin menggunakan sh lebih bash, cukup gantikan dengan perintah dan peristiwa .

user3439894
sumber
7

Anda dapat menyematkan skrip shell Anda di dalam panggilan AppleScript bash dengan heredoc.

do shell script "/bin/bash -s <<'EOF'
cd /Users/myusername/Git/myproject/
/usr/bin/git remote remove orig
EOF"
fd0
sumber
1

Mainkan kode Anda dengan osascript

osascript << EOF
tell application "Terminal"
activate
end tell
EOF

sumber