The UNIX and Linux Forums  


Go Back   UNIXおよびLinuxフォーラム > トップフォーラム > シェルプログラミングとスクリプティング
Googleのunix.com



シェルプログラミングとスクリプティング KSH 、 CSH 、 shに、 bashの、はPerl 、 PHPは、削除するsed 、 Awkの、他のシェルスクリプトやシェルスクリプト言語についての質問の投稿はこちら。

その他のUNIXおよびLinuxフォーラムトピックは参考にすること
スレッド スレッドスターター フォーラム 返信 最後の投稿
関数の呼び出しは、 C - froma Perlスクリプト jisha シェルプログラミングとスクリプティング 9 2008年5月8日 01:59午前
perlのスクリプトからのWinZipを呼び出す MobileUser シェルプログラミングとスクリプティング 5 2007年4月4日 04:51午前
perlのシェルスクリプトから呼び出す gurukottur シェルプログラミングとスクリプティング 3 2006年10月5日 12:48午後
ボックスAのperlスクリプトボックスBのシェルスクリプトを呼ぶ new2ss シェルプログラミングとスクリプティング 1 2006年9月13日 07:17午前
シェルスクリプトではPerlのCGIを呼び出す[緊急] DeepakXavier シェルプログラミングとスクリプティング 0 2005年10月9日 02:51午前

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek を搭載 Powered by Google
 
LinkBack スレッドツール このスレッドを検索 スレッドを評価 表示モード
  #1固定リンク)  
Old 2007年2月6日
new2ss new2ss is offline
登録ユーザー
  
 

参加日: 2006年1月
投稿数: 133
Perlのスクリプトからperlスクリプトを呼び出す


コード:
printf(Going to call another script... \n);
system(/my_dir/B.pl); # call another perl script B.pl
exit;

こんにちは上記の誰もが、一例は、私は別の電話を使用していますです perlの スクリプトからは、現在の perlの スクリプトを実行します。

私は2つの懸念がある:
1 )これは、同じ目的を達成するためのより良い方法を(他の呼び出し例 perlの からスクリプト perlの スクリプト) ?

2 )注意して、僕を呼び出すスクリプト内で終了コマンドです。 B.plのすぐ後にのみ実行されると呼ばれていますB.plまたは完了し、終了コマンドが実行されますか?
  #2固定リンク)  
Old 2007年2月6日
cbkihong cbkihong is offline Forum Advisor  
アドバイザ
  
 

参加日: 2002年9月
場所:香港、中国
投稿数: 1,624
引用:
当初の投稿 new2ss
1 )これは、同じ目的を達成するためのより良い方法を(他の呼び出し例 perlの からスクリプト perlの スクリプト) ?
はい。使用する必要があります( ) 。

引用:
当初の投稿 new2ss
2 )注意して、僕を呼び出すスクリプト内で終了コマンドです。 B.plのすぐ後にのみ実行されると呼ばれていますB.plまたは完了し、終了コマンドが実行されますか?
しない限り、ご自身B.plバックグラウンドモードで実行すると思う(つまりデーモンのように、例えば)は、 perlの B.plためのプロセスが完了する前に、スクリプトを呼び出すと、それゆえに( )には、システム( )だけを実行する(注返却いたしませんシステム終了しないことを perlの 他のプロセスと同じ方法で処理) 。場合は、出口( )システムした後に発生する( ) 、あなたはそれにのみ実行されると仮定することができますB.plが何らかの理由で終了します。

あなたがそうであるかどうかを確認しようとしましたか?
  #3固定リンク)  
Old 2007年2月6日
new2ss new2ss is offline
登録ユーザー
  
 

参加日: 2006年1月
投稿数: 133
引用:
当初の投稿 cbkihong
はい。使用する必要があります( ) 。

しない限り、ご自身B.plバックグラウンドモードで実行すると思う(つまりデーモンのように、例えば)は、 perlの B.plためのプロセスが完了する前に、スクリプトを呼び出すと、それゆえに( )には、システム( )だけを実行する(注返却いたしませんシステム終了しないことを perlの 他のプロセスと同じ方法で処理) 。場合は、出口( )システムした後に発生する( ) 、あなたはそれにのみ実行されると仮定することができますB.plが何らかの理由で終了します。

あなたがそうであるかどうかを確認しようとしましたか?
B.plをバックグラウンドモードでは、そのスクリプトを通常のユーザではありません。

私qoute perldocシステム"から...幹部リストとしては全く同じことは、まず、親プロセスを実行されている以外は、フォークは、子プロセスが完了するのを待って...."だから私は、私の最初のスクリプトを終了する前に終了するのを待つB.pl 、それをすることができます。

実行"実行機能..というのは、 perldocのエントリを返すことは、システムのコマンドを実行すると- " 。と仮定することができますので、私は後に、呼び出し側のスクリプトを終了しますB.plと呼んでいる。

私の意図B.plが完了する、 (すなわち、 B.plし、呼び出し元のスクリプト自体は終了)ですので、私は待って実行を使用してください実行されていませんか?任意の背中を描くか?
  #4固定リンク)  
Old 2007年2月6日
karlsworld karlsworld is offline
登録ユーザー
  
 

参加日: 2007年2月
投稿数: 6
次に私は、必要に応じてそれらのルーチンを呼び出し、メインスクリプトの先頭に任意のファイルを要求するように好きです。これが最善の方法はされない可能性がありますが、私にとってはかなりうまく動作します。ところで、私の記憶が正しければ、私はあなたを呼び出しているファイルは必ずしも必要はないと考えている標準 perlの スクリプトのヘッダ、 " pl " 、または終了する必要はありません"のCGI " 、および実行可能ファイルのアクセス許可を必要としません。

( ) main_file.pl

# ! / usr / binに/perlの
" other_file.pl "が必要です。
& do_something ;
& do_something_else ;
出口;

( ) other_file.pl

サブdo_something (
印刷"のcontent - type :テキスト/ HTMLの\ Ñ \ Ñ " ;
印刷"分かった" ;

サブdo_something_else (
印刷"のcontent - type :テキスト/ HTMLの\ Ñ \ Ñ " ;
印刷" [ OK ]をもう一度" ;

1 ; trueを返す#



私は、スクリプトをテストしていないけど、私は何をすべきか知っているそれに近いんだよ。
  #5固定リンク)  
Old 2009年5月23日
lbailey lbailey is offline
登録ユーザー
  
 

参加日: 2009年5月
投稿: 2
引用:
当初の投稿 karlsworld View Post
私は、スクリプトをテストしていないけど、私は何をすべきか知っているそれに近いんだよ。
おかげでkarlsworld 、
私のコードを実行して働いたけど、引数を渡す必要がある、とあなたはサブルーチンとは、単純に同じように(動作しない)を追加する。これは私の初体験です perlのと、無意味な障害がもどかしいです!

申し訳ありません-私はどこでも見て、アプローチの束試みたが、成功を収めていない。任意の助けいただければ幸い!
  #6固定リンク)  
Old 2009年5月24日
curleb curleb is offline
登録ユーザー
  
 

参加日: 2008年3月
場所:ここでは、私の象牙の塔...
投稿: 68
を狩り Perlの とロバートの Perlの チュートリアル。オンライン書籍、両方の言語にnewbsのためのトピックの非常に充実した内容です。
  #7固定リンク)  
Old 2009年5月24日
lbailey lbailey is offline
登録ユーザー
  
 

参加日: 2009年5月
投稿: 2
実際には"を拾う Perlの"他の通話にも言及していません perlの スクリプトは、 "ロバートの Perlの チュートリアル"は、 Windows用のモジュールとのことしか言及している。しかし、私と一緒に何かを作品にkarlsworldのスクリプトを使用するように管理して動作します。

また、私はシステムを使用しない場合は、もちろん忘れてしまった( )のために合格し、複数のファイル名を測るには、頭痛を受け入れることができる空間を作品には、ターゲットメソッド内で一緒に行く必要があります。

とにかく。将来的には読んで、このために、この作品:

( ) main_file.pl

コード:
#!/usr/bin/perl
use strict;
use warnings;
require "other_file.pl";

my $string = "Hello";
my $string2 = "Hello again";

do_something($string);
my ($s1, $s2) = do_something_else($string2);
print "Received: $s1 $s2\n";

exit;

( ) other_file.pl

コード:
sub do_something($){
        my $string = $_[0];
        print "Printing: $string\n";
}

sub do_something_else($){
        my $string = $_[0];
        print "Now printing: $string\n";
        my $yyyy = 2009;
        return ($string, $yyyy);
}

1; # return true

と出力されます:
印刷:ハロー
今すぐ印刷:こんにちは再び
受信:こんにちは再び2009
Closed Thread

ブックマーク

スレッドツール このスレッドを検索
このスレッドを検索

高度な検索
表示モード このスレッド
このスレッド

投稿ルール
あなた ことができない。 新しいスレッドを投稿
あなた ことができない。 返信の投稿
あなた ことができない。 添付ファイルの投稿
あなた ことができない。 自分の投稿を編集

BBコード なる 〜の上に
スマイリー なる 〜の上に
[イメージ] コードは 〜の上に
HTMLコードは、 オフ
トラックバック なる 〜の上に
ピングバック なる 〜の上に
Refbacks なる 〜の上に




すべてGMT -4です。現在の時刻は 01:17午前


提供: vBulletin、著作権© 2000 - 2006、Jelsoft企業株式会社。言語翻訳による電源
vBCredits v1.4著作権© 2007 - 2008 、 PixelFXスタジオ
は、 UNIXおよびLinuxフォーラムのコンテンツ著作権© 1993 〜 2009 。すべての権利を管理しReserved.Ad RedTyger

コンテンツ関連のURLで vBSEO 3.2.0