1

我可以在 Perl 中运行一些 Shell Linux 命令(例如创建一个文件夹)。但我无法执行以下命令:

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

我将此命令添加到 .sh 文件中,并且可以在 Shell 中正常执行。但是当我调用 .sh 文件时,Perl 无法运行它。我使用open3, system,open命令运行。我可以运行其他 .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 回答