我被Automator.app的在Mac OS X雪豹创建上下文服务的能力动心。 我想创造一些键盘快捷键访问通过调用一个shell脚本来处理文本片段。 然而,只有的Automator建议的bash,Perl和Python和Ruby(等等),让这一点。 但是,因为PHP还附带的Mac OS(和,说实话,这是唯一的脚本语言,我完全掌握),我不知道为什么我不能运行PHP shell脚本。
Answer 1:
这仅仅是一个黑客,但如何建立一个Python或Ruby或Perl或bash脚本,你要执行的PHP脚本调用PHP命令行解释?
比如在bash会是这么简单:
#!/bin/bash
php myscript.php
现在保存它,给它的权限执行:
chmod +x my_bash_script.sh
瞧。 Automator的现在可以运行bash脚本,它调用PHP脚本。
Answer 2:
上述DBR的解决方案是优秀的,但我发现,它并没有为我工作,或许是由于外壳,PHP或OS版本以后的变化(我使用的是OS X 10.8)。 很多头部划伤后,我发现答案是引用定界符标记。
一个有益的补充是使用适当的语法通过传递参数给PHP脚本。 把所有一起,我使用:
php -- "$@" <<'EOF'
<?php
print_r( $argv );
?>
EOF
Answer 3:
您可以使用“运行Shell脚本”操作来运行PHP脚本。 一个自包含的方法是使用<<EOF ... EOF
到脚本传递给php
命令:
(我会强烈建议学习Python和Ruby或者Perl .. PHP确实对网络编程的一些优势,但只是不适合命令行脚本..这肯定是可行的,它会只是不会那么愉快.. )
Answer 4:
炮弹是的Automator支持列表中
/System/Library/Automator/Run\ Shell\ Script.action/Contents/Resources/Shells.plist
你可以按照这个家伙的指示 ,以增加对在/ usr / bin中/ PHP的条目。 您可能希望将.action文件到〜/库/ Automator的第一和作品的拷贝的复印件。
当然,它可能更容易,只是把它包在一个bash脚本,如其他人所说。
Answer 5:
Automator的具有“运行Shell脚本”行动只是把它添加到您的工作流程,并按照左下方的说明。
文章来源: How do I execute a PHP shell script as an Automator action on Mac OS X