我无法理解执行exe的Perl脚本的一部分。使用open()在Perl中执行一个exe文件?
open(SYSTEM, "$appl 2>&1 |") || die "$!: $appl";
根据this我可以理解,它正在执行一个exe(可变$appl
店的exe其ARGS沿着路径),但我不明白的部分2>&1
。 AFAIK它不是我们exe所要求的arg,所以它必须是一些标准的约定。任何想法是什么? PS:我们的Perl有点旧,因此open()的语法较老。
我无法理解执行exe的Perl脚本的一部分。使用open()在Perl中执行一个exe文件?
open(SYSTEM, "$appl 2>&1 |") || die "$!: $appl";
根据this我可以理解,它正在执行一个exe(可变$appl
店的exe其ARGS沿着路径),但我不明白的部分2>&1
。 AFAIK它不是我们exe所要求的arg,所以它必须是一些标准的约定。任何想法是什么? PS:我们的Perl有点旧,因此open()的语法较老。
你可以看到的简要说明什么2>&1
在这里:In the shell, what does " 2>&1 " mean?
基本上它是告诉命令行重定向任何错误消息EXE提高到标准输出whe重新perl脚本可以拿起输出。
没有这个,或者从命令行运行EXE时,通常可能会将错误引导到单独的输出(STDERR),以便将信息消息出现(STDOUT)。
谢谢吉姆。从你的链接回答这个问题真棒! – 2013-04-30 09:24:51
非常欢迎您。谢谢。 – Jim 2013-04-30 11:29:28
谢谢阿伦,明白了! :) – 2013-04-30 09:25:15
可能的重复[在bash shell中,什么是“2>&1”?](http://stackoverflow.com/questions/818255/in-the-bash-shell-what-is-21) – 2013-04-30 09:30:51