1

Perl でいくつかの Shell Linux コマンドを実行できます (フォルダーの作成など)。しかし、次のコマンドを実行できません:

echo 'mypassword' | gpg --passphrase-fd 0 --output outfile --decrypt inputfile

このコマンドを .sh ファイルに追加すると、シェルで正常に実行できます。しかし、.sh ファイルを呼び出すと、Perl はそれを実行できませんでした。open3systemopenコマンドを使用して実行しました。他の .sh ファイルを実行できましたが、このコマンドでは実行できませんでした。

助けてください。

4

1 に答える 1

0

バッククォート/バックティックを使用してみてください。うまくいくようです:

#!/usr/bin/perl
use strict;

`echo 'mypassword' | gpg --passphrase-fd 0 --output outfile --decrypt inputfile`

PS GPGのような cpan モジュールを使用したほうがよいでしょう。

于 2013-04-23T08:19:16.873 に答える