UNIXシステムで次々に実行したい一連のperlスクリプトがあります。これはどのタイプのファイルになりますか/ドキュメントのように参照できますか?BASH、BATCH、シェルスクリプトファイル?
どんな助けでもいただければ幸いです。
UNIXシステムで次々に実行したい一連のperlスクリプトがあります。これはどのタイプのファイルになりますか/ドキュメントのように参照できますか?BASH、BATCH、シェルスクリプトファイル?
どんな助けでもいただければ幸いです。
手動で実行するために使用するコマンドをファイルに入れるだけです(たとえばperlScripts.sh
)。
#!/bin/sh
perl script1.pl
perl script2.pl
perl script3.pl
次に、コマンドラインから:
$ sh perlScripts.sh
Perl自体を使用してすべてのスクリプトを実行することを検討してください。スクリプトがコマンドライン引数を受け取らない場合は、次を使用できます。
do 'script1.pl';
do 'script2.pl';
等
do 'file_name'
基本的に、ファイルのコードを現在のスクリプトにコピーして実行します。ただし、各ファイルに独自のスコープを与えるため、変数が衝突することはありません。
このアプローチは、Perlインタープリターのインスタンスを1つだけ開始するため、より効率的です。また、モジュールの繰り返しのロードを回避します。
引数を渡したり、出力をキャプチャしたりする必要がある場合でも、バッククォートまたはsystem
:を使用してPerlファイルでそれを行うことができます。
my $output = `script3.pl file1.txt`; #If the output is needed.
system("script3.pl","file1.txt"); #If the output is not needed.
これは、シェルスクリプトを使用するのと似ています。ただし、クロスプラットフォーム互換です。これは、スクリプトが存在するPerlのみに依存し、他の外部プログラムには依存しないことを意味します。また、呼び出し元のスクリプトに機能を簡単に追加できます。