Linux
Linux + Perl 單行程式碼的退出狀態
我在我的 ksh 腳本中使用 Perl 單行語句。
有時需要從 Perl one-liner 獲取退出狀態,以驗證 Perl one-liner 是否成功。
例如,我需要驗證 Perl 單行程式碼中的“列印”是否成功。
但是即使 Perl 不匹配單詞“AAA 和 BBB”,Perl 在這兩種情況下都會以狀態 0 退出。
也許通過更改我的程式碼,當 Perl 匹配成功時,我可以獲得退出狀態 0 。當 Perl 與單詞“AAA 和 BBB”不匹配時,獲得退出狀態 1 。
這可能嗎?
more file AAA BBB perl -ne '/AAA/ && /BBB/ && print' file AAA BBB echo $? 0
more file1 ZZZ perl -ne '/AAA/ && /BBB/ && print' file1 echo $? 0
END{...}
在一個塊中計算匹配行並根據它設置退出程式碼:perl -ne '/AAA/ && /BBB/ && print && $MATCH++; END{exit 1 unless $MATCH>0}' file