我有一个脚本,其中有一行:
eval for i in \{"$1".."$2"\}\; do [ ! -e "$3"/\$i.\* ] \&\& echo \"\$i\" \; done \| shuf \| mycommand "$3"
这意味着:首先创建一个数字序列,其中不存在以数字命名的文件,将它们通过管道传输到shuf
,然后将它们通过管道传输到mycommand
ELF 可执行文件。
大多数情况下脚本运行良好,但有时会出现段错误错误,即段错误错误不可重现。
$ myscript 0001 734 XMJ
/home/tim/bin/myscript: line 25: 10170 Exit 1 for i in {0001..734};
do
[ ! -e XMJ/$i.* ] && echo "$i";
done
10171 Done | shuf
10172 Segmentation fault (core dumped) | mycommand XMJ
这是否意味着运行时会引发段故障shuf
?
我们可以从错误消息中推断出什么并可能纠正它?
谢谢。