我的脚本从作为参数提供的文本文件中读取“.bag”文件列表。并与每个人一起做某事。(为清楚起见,我省略了大部分“东西”)
while IFS= read -r bag
do
echo Extracting from $bag
# Play the script for saving the images
python2 extract_imgs.py --image_topics "$image_topics" --basepath "extracted_imgs/$bag_name" &
extract_imgs_PID=$!
# play the bag file
rosbag play -r 10 $bag
echo rosbag play returned: $?
echo finished playing $bag
# kill the subscribe node
kill $extract_imgs_PID
done < $1
如果我注释掉该rosbag play -r 10 $bag
行,该脚本的行为与我预期的一样:它从 $1 读取每一行并运行循环的迭代,并将该行设置为 $bag。
但是使用 'rosbag play -r 10 $bag' 行,它在第一行正常工作,但随后退出循环并完成。为什么?的返回状态rosbag play
是0
。我怎样才能让这个脚本运行 rosbag play 命令,然后继续循环输入文件的行?