2013-01-22 122 views
1

這是我第一次嘗試創建終端腳本,然後使用AppleScript運行代碼。我已經在終端中逐行測試了我的終端腳本(它的工作原理...),但是想把它放在可以通過applescript調用的文件中。到目前爲止,我已經創建了一個名爲"/Applications/MAMP/htdocs/global_admin/import_database_command_line.sh"文件,其中我已經保存所有個人的命令,第一個是:通過AppleScript運行shell腳本

/Applications/MAMP/Library/bin/mysql --host=localhost -uroot -proot; 

然後我用的AppleScript調用腳本:

do shell script 
"/Applications/MAMP/htdocs/global_admin/import_database_command_line.sh" 

不幸的是,在我的腳本每一行我得到一個錯誤,如:

error "/Applications/MAMP/htdocs/global_admin/import_database_command_line.sh: 
line 1: : command not found 

協調我的AppleScript和包含我的shell命令文件的任何幫助,將不勝感激。

回答

2

您需要包括#!/bin/sh在你的sh文件的第一行

#!/bin/sh 

echo "Hello, world!" 

然後你需要使腳本可執行:

chmod +x import_database_command_line.sh 
+0

謝謝你的快速反應!現在我收到錯誤:sh:/Applications/MAMP/htdocs/global_admin/import_database_command_line.sh:/ bin/sh^M:錯誤的解釋器:沒有這樣的文件或目錄 – Eric

+0

[Shell Scripting Primer](https:// developer .apple.com /庫/ MAC /#文檔/開源/概念性/ shellscripting/shell_scripts/shell_scripts.html#// apple_ref/DOC/UID/TP40004268-CH237-SW3) – adayzdone

0

這是因爲「做shell腳本」 AppleScript命令期望運行引號中包含的shell命令。不要期望像你在做的那樣調用另一個腳本。只需將您的命令放在引號內,用分號分隔即可。

做shell腳本 「/應用程序/ MAMP /庫/斌/ MySQL的主機=本地主機-uroot -proot; #other_command; #etc」

Link