Linux
perl 相當於 sh -e
在
/bin/sh
和/bin/bash
(我猜還有很多其他 shell)中,使用#!/bin/sh -e
(或set -e
在腳本中的某個位置執行)啟動腳本會導致腳本中止,當腳本中的任何命令行以不同於 0 的狀態碼退出時。是否有任何等效或解決方法可以在 perl 腳本中獲得相同的行為?(即,如果任何指令產生錯誤,或者任何使用
system(...)
或反引號執行的外部命令返回錯誤程式碼,則立即退出)
查看autodie核心模組。這用在失敗時死掉的函式替換了類似
open
和的呼叫。fork
要使其與 一起使用system
,您需要導入:all
or:system
,因為預設情況下不這樣做。use strict; #always! use warnings; #always! use autodie qw(:system); system('/bin/false'); #This will die print "This will never be printed\n";
重要的是要注意,
autodie
要使用system
,您需要該IPC::System::Simple
模組。使用 CPAN 安裝它,或者在 Ubuntu 上安裝sudo apt-get install libipc-system-simple-perl
。