我無法理解執行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