我有一个单行的Perl搜索和替换,看起来像这样:
perl -p -i -e 's/foo/bar/' non-existent-file.txt
因为文件不存在(这不是有意的,但这是自动化构建脚本的一部分,所以我想对此加以保护),Perl退出并出现以下错误:
Can't open non-existent-file.txt: No such file or directory.
但是,退出代码仍为零:
echo $?
0
难道我做错了什么?我应该修改脚本还是调用Perl的方式?我很天真地以为,因为Perl找不到文件,所以它将以非零代码退出。
你可以死去逼错
perl -p -i -e 'BEGIN{ -f $ARGV[0] or die"no file" } s/foo/bar/' non-existent-file.txt
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句