如何在Mac OS X上执行PHP shell脚本作为Automator操作

Roe*_*oel 10 php macos shell service automator

我很想通过Automator.app在Mac OS X Snow Leopard中创建上下文服务的能力.我想通过调用shell脚本来创建一些键盘可访问的快捷方式来操作文本片段.但是,Automator只建议bash,Perl,Python和Ruby(以及其他)允许这样做.但是,由于PHP还附带Mac OS(并且,老实说,它是我完全掌握的唯一脚本语言),我想知道为什么我不能运行PHP shell脚本.

rog*_*pvl 6

这只是一个hack,但是如何创建一个python,或ruby或perl或bash脚本,用你想要执行的php脚本调用php命令行解释器?

比如在bash中就像这样简单:

#!/bin/bash   
php myscript.php
Run Code Online (Sandbox Code Playgroud)

现在保存它,给它执行权限:

chmod +x my_bash_script.sh
Run Code Online (Sandbox Code Playgroud)

瞧.Automator现在可以运行调用php脚本的bash脚本.


Rob*_*ton 6

dbr上面的解决方案非常好,但是我发现它对我不起作用,可能是因为后来改变了shell,php或OS版本(我使用的是OS X 10.8).经过大量的讨论后,我发现答案是引用heredoc标记.

一个有用的补充是使用适当的语法将参数传递给php脚本.将所有这些放在一起,我正在使用:

php -- "$@" <<'EOF'
<?php 
print_r( $argv );
?>
EOF
Run Code Online (Sandbox Code Playgroud)