首页 > 解决方案 > 如何在while循环中只输入第一次

问题描述

我有一个while-read loop在终端中运行我的脚本。如果我在脚本中插入一个echoread命令对,我会提示输入脚本循环通过的目录中的每个文件。

我显然想避免这种情况,但同时我不想硬输入我的脚本正在生成 CSV 的目标目录,这是一个不优雅的解决方案,意味着对于每个新的目标目录,脚本必须再次被调整。

这是我while loop在终端中的命令:

while read MS; do (cd "$MS" && bash script && cd ..); done <whichMSS.txt

并且/targetDirectory/是需要输入的脚本部分:

exiftool -csv -Title -Source $PWD > /targetDirectory/${PWD##*/}".csv"

实际结果是,当我的脚本遍历它们时,我会提示输入每个文件,这违背了while loop. 理想的结果是只输入/targetDirectory/第一次,直到所有文件都循环完后才得到提示。我将不胜感激任何帮助!

标签: bashinputwhile-loop

解决方案


推荐阅读