【发布时间】:2017-05-30 20:13:40
【问题描述】:
我正在我的 Perl 脚本中运行 shell 命令,但它没有按预期工作。我在一个以 Alpine Linux 作为基础镜像的容器中。
我的 Perl 版本 v5.24.0。
perl -e 'my $TEST = `ls -al`; print $TEST'
这不会打印任何内容,但可以在我在 Red Hat Linux 上安装 Perl v5.6.1 的另一个系统上运行。
【问题讨论】:
-
@toolic 它打印 0
-
@Michael ls -al 打印目录内容,不为空
-
@toolic tilda 丢失,
perl -e 'my $TEST =ls -al; print $TEST; print $? if $?'的输出为 -1 -
当
$?设置为-1时,错误在$!。所以把print $? if $?改成print $? == -1 ? $! : $? -
你的
docker run或 CMD 是什么?我认为你没有定义 PATH
标签: perl docker busybox alpine