簡體   English   中英

如何在Mac OS X上將PHP shell腳本作為Automator操作執行

[英]How do I execute a PHP shell script as an Automator action on Mac OS X

我很想通過Automator.app在Mac OS X Snow Leopard中創建上下文服務的能力。 我想通過調用shell腳本來創建一些鍵盤可訪問的快捷方式來操作文本片段。 但是,Automator只建議bash,Perl,Python和Ruby(以及其他)允許這樣做。 但是,由於PHP還附帶Mac OS(並且,老實說,它是我完全掌握的唯一腳本語言),我想知道為什么我不能運行PHP shell腳本。

dbr上面的解決方案很棒,但我發現它對我不起作用,可能是由於shell,php或OS版本的后期更改(我使用的是OS X 10.8)。 經過大量的討論后,我發現答案是引用heredoc標記。

一個有用的補充是使用適當的語法將參數傳遞給php腳本。 將所有這些放在一起,我正在使用:

php -- "$@" <<'EOF'
<?php 
print_r( $argv );
?>
EOF

這只是一個hack,但是如何創建一個python,或ruby或perl或bash腳本,用你想要執行的php腳本調用php命令行解釋器?

比如在bash中就像這樣簡單:

#!/bin/bash   
php myscript.php

現在保存它,給它執行權限:

chmod +x my_bash_script.sh

瞧。 Automator現在可以運行調用php腳本的bash腳本。

您可以使用“運行Shell腳本”操作來運行PHP腳本。 一種自包含的方法是使用<<EOF ... EOF將腳本傳遞給php命令:

對PHP代碼使用“執行shell腳本”操作

(我強烈建議學習Python,Ruby或Perl .. PHP確實對Web編程有一些優勢,但它不適用於命令行腳本..它肯定是可行的,它只是不會那么令人愉快)

Automator支持的shell列表

 /System/Library/Automator/Run\ Shell\ Script.action/Contents/Resources/Shells.plist

你可以按照這個人的指示為/ usr / bin / php添加一個條目。 您可能希望先將.action文件復制到〜/ Library / Automator,然后再處理副本。

當然,正如其他人所建議的那樣,將它包裝在bash腳本中可能更容易。

Automator有一個“運行Shell腳本”操作只需將其添加到您的工作流程並按照左下角的說明操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM