我想要一个bash命令(perl?),如果在文本文件中找到非ASCII字符,它将输出非零退出代码。
这是我到目前为止所拥有的:
perl -nle 'print "$." if m/[\x80-\xFF]/' file_that_has_non_ascii_characters.txt
这将打印出找到非ASCII字符的每一行。我尝试了一个带有exit 1
的变体,但它似乎不起作用:
➜ perl -nle 'exit 1 if m/[\x80-\xFF]/' file_that_has_non_ascii_characters.txt
➜ echo $!
0
我该怎么做?
答案 0 :(得分:4)
您应该使用$?
代替$!
。
!
:扩展为最近执行的后台(异步)命令的进程ID。
?
:扩展到最近执行的前台管道的退出状态。