Terminal 通过AppleScript运行shell脚本

Terminal 通过AppleScript运行shell脚本,terminal,applescript,Terminal,Applescript,这是我第一次尝试创建终端脚本,然后使用AppleScript运行代码。我已经在终端中逐行测试了我的终端脚本(它可以工作…),但是我想把它放在一个可以被applescript调用的文件中。到目前为止,我已经创建了一个名为“/Applications/MAMP/htdocs/global\u admin/import\u database\u command\u line.sh”的文件,其中保存了所有单独的命令,第一个是: /Applications/MAMP/Library/bin/mysql -

这是我第一次尝试创建终端脚本,然后使用AppleScript运行代码。我已经在终端中逐行测试了我的终端脚本(它可以工作…),但是我想把它放在一个可以被applescript调用的文件中。到目前为止,我已经创建了一个名为
“/Applications/MAMP/htdocs/global\u admin/import\u database\u command\u line.sh”
的文件,其中保存了所有单独的命令,第一个是:

/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命令的文件方面的任何帮助都将不胜感激。

您需要包括
#/bin/sh
位于.sh文件的顶行中

#!/bin/sh

echo "Hello, world!"
然后需要使脚本可执行:

chmod +x import_database_command_line.sh

这是因为“do shell script”AppleScript命令希望运行引号中包含的shell命令。它不希望像您这样调用另一个脚本。只需将命令放在引号内,用分号分隔即可

执行shell脚本“/Applications/MAMP/Library/bin/mysql--host=localhost-uroot-proot;#其他#u命令;#等”


感谢您的快速回复!现在我得到了一个错误:sh:/Applications/MAMP/htdocs/global\u admin/import\u database\u command\u line.sh:/bin/sh^m:bad解释器:没有这样的文件或目录