0

perl スクリプト内に bash スクリプトを埋め込みたい。perl スクリプトからいくつかの変数を取得して、bash スクリプトを実行したいと考えています。変数を取得すると、bash スクリプトが引き継ぎ、内部で作成されたファイルを出力しようとします。

perl スクリプト変数を bash スクリプトに渡すにはどうすればよいですか?

私はperlを知りませんが、Googleで読んだことから、bashスクリプトを次のように埋め込むことができます

system("get_files.cmd -yr ${year}");

私のbashスクリプトはどこにありますかget_files.cmd

4

2 に答える 2

0

それらを引数としてbashスクリプトに渡した方が良いと思います。

perl 呼び出し:

system("get_files.cmd ${var1} ${var2}");

バッシュスクリプト

var1="$1"
var2="$2"
...

$1$2は、コマンド ラインで (順番に) 渡される引数です。$#渡された引数の数を取得するには、bash 変数を使用できることに注意してください。

これが役立つことを願っています=)

于 2012-10-16T15:07:02.970 に答える
0

Expect モジュールは、スクリプトの実行や perl 変数の受け渡しなどのシェル タスクを基本的に自動化できます。そのような:

Use Expect;

  # create an Expect object by spawning another process
  my $exp = Expect->spawn($command, @params)
    or die "Cannot spawn $command: $!\n";

http://search.cpan.org/~rgiersig/Expect-1.15/Expect.pod

于 2012-10-16T15:04:32.607 に答える