如何执行一个PHP shell脚本,在Mac OS X的Automator的行动(How do I

2019-07-17 12:05发布

我被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