Nasıl Mac OS X üzerinde bir Otomatikçisi eylem olarak bir PHP kabuk komut dosyası çalıştırmak yok

6 Cevap php

Mac OS X Snow Leopard bağlamsal hizmetleri oluşturmak için Automator.app 'yeteneğini tarafından çeliyor. Ben bir kabuk arayarak metin parçalarını işlemek için bazı klavye kısayolları erişilebilir oluşturmak istiyorum. Ancak, Automator sadece bu izin Bash, Perl, Python ve Ruby (diğerleri) göstermektedir. Ama Mac OS ile PHP aynı zamanda gemilerde beri ben bir PHP betiği çalıştırmak değil neden acaba, (ve, dürüst olmak gerekirse, ben tam master tek betik dili var).

Bu yapılabilir mi?

Thanks for your help, Roel

6 Cevap

Bu sadece kesmek, ama php script php komut satırı yorumlayıcısı çağıran bir python, ya da yakut veya perl veya bash komut dosyası oluşturma hakkında yürütmek nasıl istiyorsun?

Bash Örneğin bu kadar basit olacaktır:

#!/bin/bash   
php myscript.php

Şimdi, kaydetmek o yürütülmesi için izin verin:

chmod +x my_bash_script.sh

Ve voila. Automator şimdi php komut dosyası çağırır bash komut dosyası çalıştırabilirsiniz.

Eğer bir PHP komut dosyası çalıştırmak için "Çalıştır Shell Script" eylemini kullanabilirsiniz. Bir kendi kendine yeten bir yol php komutu komut geçmek için <<EOF ... EOF kullanmaktır:

PHP code"> Using

(I would strongly recommend learning Python, Ruby or Perl.. PHP does has some advantages for web-programming, but is just not intended for command-line scripting.. It's certainly doable, it'll just not be nearly as.. pleasant)

Yukarıda dBr çözümü mükemmel, ama (ben OS X 10,8 kullanıyorum) nedeniyle belki kabuk, php veya OS sürümü bir sonraki değiştirmek için, benim için işe yaramadı bulundu. Baş kaşıma bir sürü sonra ben cevap heredoc işaretleyici alıntı olduğunu buldu.

Yararlı bir ek php komut dosyası aracılığıyla argümanların uygun sözdizimi kullanmaktır. Hepsi bir araya koyarak, ben kullanıyorum:

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

Automator bir "Run Shell Script" Eylem sadece iş akışı eklemek ve sol alt yönergeleri izleyin sahiptir.

Automator destekler kabukları listesi olduğunu

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

Sen this guy's instructions / usr / bin / php için bir girdi eklemek için takip edebilirsiniz. Önce. Eylem dosyayı ~ / Library / Otomatikçisi kopyalamak istediğiniz ve yerine kopya üzerinde çalışabilir.

Diğerleri önerilen gibi tabii, bu bir bash script sadece sarmak için muhtemelen daha kolay.

Alternatif olarak, Platypus kullanarak bir Mac OS X uygulama içine PHP script dönüşebilir.