0

印刷フィルターによって呼び出される perl スクリプトから .app ファイルを開く必要があります。この perl スクリプトは他の多くの作業を行いますが、最後にフォルダーから .app を開く必要があります。ターミナルで「open /Applications/abc.app」コマンドを試してみましたが、うまくいきました。Perlスクリプトから行う必要があるのと同じこと。Perl から以下を試しましたが、動作しません。問題はどこにあるのでしょうか?また、試してみました-「/Applications/abc.app」を開き、(「/Applications/abc.app」)を開きます。

エラー: 24/03/14 8:22:33.526 am open[5181]: spawn_via_launchd() failed, errno=54 label=[0x0-0xca0ca].abc path=/Applications/abc.app/Contents/MacOS/abc flags=0 : LaunchApplicationClient.cp #990 LaunchApplicationWithSpawnViaLaunchD() q=com.apple.main-thread

24/03/14 8:22:33.526 am open[5181]: spawn_via_launchd() が失敗しました、errno=54 label=[0x0-0xca0ca].EFI.PrintMessenger path=/Applications/abc.app/Contents/MacOS/abc flags =0

chess.app や firefox.app などの他のアプリを開こうとしました。しかし、同じエラー

4

1 に答える 1

1

ちょっとしたテストスクリプトを書きました:

use strict;
use warnings;

system qq(open -a Pages);
print qq(Yes, I'm such a fanboy, I have "Pages" on my system\n);

アプリケーションがディレクトリにない場合は/Application、アプリケーション名の前にディレクトリ名を付ける必要があります。コマンドはサフィックスopenを前提としています。.app必要に応じて追加できます。これも機能します:

system qq(open -a /Application/Pages.app);

ただし、アプリケーションを開くことについて話していること、およびそれがファイルではないことをコマンド-aに知らせる必要があります。ファイルではなく、ディレクトリであるopenことを忘れないでください。/Applications/Pages.appそのため、このパラメーターを使用しない-aと、OS X の open コマンドが失敗します。

于 2014-03-21T13:27:44.547 に答える