cat list.txt | grep '^http://.*\.osm\..*$' | while read line; do
fn=$(basename $line)
do_something()
done
# TODO: check if it did something
如果 grep 命令没有返回任何内容,它不会进入循环并且do_something()不会被执行。
我无法在 while 循环之外检查 $fn 中的内容,请参阅Bash variable scope。
检查do_something()是否在此处执行的侵入性最小的解决方案是什么?