Как вводить только первый раз в цикле while - PullRequest
0 голосов
/ 23 октября 2019

У меня есть while-read loop, который запускает мой скрипт в Терминале. Если бы я вставил в сценарий пару команд echo и read, мне бы предложили ввести данные для каждого файла в каталоге, через который проходит сценарий.

Я хочу избежать этого, очевидно,но в то же время я не хочу жестко набирать целевой каталог, в который мой скрипт генерирует 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/ только в первый раз и больше не получать подсказок, пока все файлы не будут зациклены. Буду признателен за любую помощь!

...