如何创建AppleScript命令,当我只运行脚本(或在Finder中双击它?)时,它会运行一组终端命令?这组命令完全删除了MySQL,并且不断地将它们写出来已经变得很痛苦。命令是:
sudo rm /usr/local/mysql
sudo rm -rf /usr/local/mysql*
sudo rm -rf /Library/StartupItems/MySQLCOM
sudo rm -rf /Library/PreferencePanes/My*
sudo rm -rf /Library/Receipts/mysql*
sudo rm -rf /Library/Receipts/MySQL*
sudo rm /etc/my.cnf
还有另一个命令sudo nano /etc/hostconfig
打开一个文件,我需要从文件中删除一行,但这似乎太难编码了,所以我想我可以手工完成。但是使用单个脚本自动执行此操作将是一个巨大的帮助。
它只是一堆这些命令吗?
do shell script (...)
谢谢, 赫里斯托斯
答案 0 :(得分:15)
是的,您可以使用do shell script
。
但是,对于以超级用户(sudo
)身份执行的命令,您将使用with administrator privileges
。所以,对于sudo rm /usr/local/mysql
你要这样做:
do shell script "rm /usr/local/mysql" with administrator privileges
如果您的命令列表很长,那么将所有命令放入单个shell脚本文件中可能会更容易,然后使用do shell script
执行该shell脚本:
do shell script "/path/to/shell/script" with administrator privileges
答案 1 :(得分:15)
你实际上并不需要使用AppleScript - 只需将所有shell命令放在一个文本文件中并给它一个.command
后缀并确保它是可执行的(例如chmod +x my_script.command
) - 这个将使其在Finder中双击。
答案 2 :(得分:0)
我发现.scpt文件效果最好,但这只是一个偏好。
打开“脚本编辑器”并添加以下命令:
sudo rm -rf /usr/local/mysql; sudo rm -rf /usr/local/mysql*; sudo rm -rf /Library/StartupItems/MySQLCOM; sudo rm -rf /Library/PreferencePanes/My*; sudo rm -rf /Library/Receipts/mysql*; sudo rm -rf /Library/Receipts/MySQL*; sudo rm /etc/my.cnf; say job completed successfully" with administrator privileges