Не столь бесполезная команда "да" bash: как подтвердить команду в каждом цикле

Я написал цикл для распаковки всех zip файлов в каталоге.

for f in *zip
do
    unzip $f
done

Однако, я должен подтвердить перезапись на каждом шаге:

replace file123.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: A

Как я могу переписать цикл для отправки в каждом цикле одной и той же команды?

Ответы

Ответ 1

Замечательно, может быть, один из немногих случаев, когда да по-прежнему полезен

Попробуйте:

for f in *zip
do
    yes | unzip $f
done

Будет выполняться печать "y" при каждой команде.

Или, альтернативно, вы можете указать строку, предоставленную да, например:

for f in *zip
do
    yes A | unzip $f
done

Ответ 2

unzip -o $f

за документы

Ответ 3

Попробуйте использовать

unzip -o

в вашем цикле

Ответ 4

for f in *zip
do
   echo "yes" | unzip $f
done