
Я хочу выполнить некоторые команды с помощью опции find -exec, но не уверен, что не так с этим кодом. В настоящее время он обрабатывает только первый результат find, а затем зависает. Я использую bash в OS X.
read -e DIRECTORY
find $DIRECTORY -type f -name '*.mov' -exec sh -c '
file="$0"
echo "Processing $file ..."
modmovie -notrack "Timecode Track" $file -save-in-place
read line </dev/tty
' {} \;
решение1
Я придумал этот пример, и, как уже говорили другие в комментариях, именно read line </dev/tty
из-за него он ждет ввода данных пользователем.
#!/bin/bash
find db -type f -name '*.jpg' -exec sh -c '
file="$0"
echo "hi"
echo "$file"
read line </dev/tty
' {} \;
Вывод моего скрипта
hi
db/db1440/gothamgardenxmas21440.jpg
<---- I hit enter here
hi
db/db1440/unveiling11440.jpg
<---- I hit enter here
hi
db/db1440/astronomer21440.jpg
<---- I hit enter here
...