1. ホーム
  2. perl

[解決済み] Perl スクリプトの中でシェルコマンドを呼び出すにはどうしたらいいですか?

2022-03-14 12:29:36

質問

シェルコマンドを呼び出す例として、例えば ' ls -a をPerlスクリプトで実行し、その出力を取得する方法は?

どのように解決するのですか?

Perlプログラムからシェルスクリプトを実行する方法

<ブロッククオート

1. システムの利用 system($command, @arguments);

例えば

system("sh", "script.sh", "--help" );

system("sh script.sh --help");

システムは $command に 引数を指定し、終了したらスクリプトに戻ります。をチェックすることができます。 は、外部アプリケーションからOSに渡された特定のエラーをチェックすることができます。を読む のドキュメントを参照してください。 の起動が微妙に異なる。

2. 使用方法 exec

の使い方とよく似ています。 システム しかし、これは は、実行時にスクリプトを終了させます。もう一度、ドキュメントを読んでください。 に対して exec をご覧ください。

3. バックテックの使用または qx//

my $output = `script.sh --option`;

my $output = qx/script.sh --option/;

バックティック演算子およびそれに相当する演算子 qx// 演算子内のコマンドとオプションの出力を取り出し、終了時にSTDOUTに返します。

を工夫して、外部アプリケーションを実行する方法もあります。 オープン しかし、これは高度な使い方なので、詳しくはドキュメントを読んでください。