![自动回答命令行中的输入](https://linux22.com/image/1159293/%E8%87%AA%E5%8A%A8%E5%9B%9E%E7%AD%94%E5%91%BD%E4%BB%A4%E8%A1%8C%E4%B8%AD%E7%9A%84%E8%BE%93%E5%85%A5.png)
参考这个问题,我想要一些类似的东西。我的想法是,我执行一个命令,然后它要求输入一个文件名来处理,处理完成后,它会要求输入下一个文件名,依此类推。问题是我有成千上万个文件,所以我无法手动逐个输入它们。但是,我有一个包含所有文件名的 .txt 文件。
所以我想编写一个 bash 脚本来:
- 执行命令
- 当它询问文件名时,它会从 txt 文件中读取第一行
- 程序将处理该文件,然后请求下一个
- bash 给出下一个,依此类推
直到程序请求文件,并且 .txt 文件已经完成,然后我自动终止
答案1
每当有人提到“数千个文件”时,我立即想到xargs
(阅读man xargs
)。假设您的文件名很简单(不包含空格或其他奇怪的字符):
xargs --interactive -n 1 <filenames.txt YourProgram