2012-01-26 7 views
1

MacとWindowsマシン上の複数のユーザーとリポジトリでperlスクリプトを共有しています。これは、フォルダ内にあるファイルに対してその作業を実行します。私はそれを頻繁に実行するので、コマンドラインが何であるか分からないユーザもいるので、簡単に起動できるように、ディレクトリにバッチファイルを作成しました。いくつかのパスが異なりますので、私はそれは、ポータブル製:Macでperlスクリプトを起動するための簡単で便利な方法(Win on Batchに相当)

::figure out your directory path 
    pushd %~dp0 
    :: launch the script 
    perl my_perl_script.pl 
    popd 

バッチがWindows上で完璧に動作し、私はそれぞれのperlスクリプトを使って、各プロジェクトフォルダに入れてちょうどに私のユーザーを教えて「というブツをダブルクリックします。」

Macでどのようにすることができますか?私はbashのについて多くを知らない、と私はどのように

1を把握することはできません)そのディレクトリパスからbashのファイルの数字を持っている、と
2)bashの簡単な「ダブルクリックすると、そのブツください"私のMacユーザーのために実行可能です。

簡単なAppleScriptは(私は本当にいずれかのAppleScriptを知らない...)任意の助け

おかげで良いだろう。

EDIT:Thanks、dj bazzie wazzie。私は、perlを動かすためにbashとapplescriptの両方を実行したくなかったが、あなたの最初の行を使って、完璧に動作するapplescriptを入手した。

set currentWorkingDirectory to do shell script "dirname " & quoted form of POSIX path of (path to me) 
    tell application "Terminal" 
    set currentTab to do script "cd " & currentWorkingDirectory 
    do script "perl xml2epub_3689_7KeysSpWellness.pl" in currentTab 
    end tell 

答えて

1

あなたはシェルコマンドを実行できます。さんがあなたのbashのファイルは、次のスクリプトに位置し、maintenance.shスクリプトはこの

set currentWorkingDirectory to do shell script "dirname " & quoted form of POSIX path of (path to me) 
do shell script quoted form of (currentWorkingDirectory & "/maintenance.sh") 

EDITようになりますと命名されたとしましょう:そのようについて を(私は私のポストを変更するので、私はあなたのポストをコメントすることはできません)あなたのような簡単なコマンドでは、ターミナルアプリケーションは必要ありません。私は動作しているアプリケーションで十分だと理解できますが、はるかにスムーズなスクリプトのためには、そのコマンドをdoシェルスクリプトに入れます。コマンドごとのコードはこのようなものになります

set currentWorkingDirectory to do shell script "dirname " & quoted form of POSIX path of (path to me) 
do shell script "perl " & quoted form of (currentWorkingDirectory & "/xml2epub_3689_7KeysSpWellness.pl") 
関連する問題