bash - 请求输入 bash 脚本循环
问题描述
我正在尝试针对图片运行 jpegoptim,并且在循环中的某个时刻……假设 200 次迭代后,我得到“stdin”,这需要输入才能走得更远。
有没有办法强制输入?
#!/bin/bash
for i in `find . -name "*.jpg" -type f`; do
jpegoptim "$i" >> jpg.log; done
done
解决方案
您可以使用计数器,然后read
在计数器达到 200 时要求用户输入
#!/bin/bash
count=0
for i in `find . -name "*.jpg" -type f`; do
jpegoptim "$i" >> jpg.log
[[ $((count++)) == 200 ]] && read -rp "Continue? [y/n] " resume
[[ "$resume" == 'n' ]] && break
done
推荐阅读
- ios - 为什么我不能存档 Xamarin.Forms iOS 应用程序?
- google-apps-script - 如何获取孤立的驱动器文件列表
- applescript - 组织脚本的结果
- go - exec ffmpeg 标准输出管道停止
- javascript - 使用字符串搜索对象并返回匹配的键值
- c++ - 如何从 avi 文件中抓取所有帧 - 如何修改 MS Sample Grabber 示例
- excel - 使用 Excel VBA 阅读邮件时 Outlook 崩溃
- java - Spring项目中APN的休息控制器(推送通知)
- python - 当在csv中提取视频的坐标和帧数时,如何在视频上绘制边界框?
- python - TypeError:Params 必须在 Python 中的列表、元组或行中