В следующем тестовом скрипте есть проблема. Когда я добавляю строку (sleep 5 )&
в сценарий, цикл while read
не читает все строки из файла, а только печатает первую строку.
Но когда я удаляю ( sleep 5 )&
из сценария, сценарий печатает все строки, как определено в файле.
Почему ( sleep 5 )&
вызывает это?
А как решить проблему? Я хочу создать новый процесс (для которого sleep - просто пример) в цикле while.
$ more test
#!/bin/ksh
while read -r line ; do
echo $line
( sleep 5 )&
RESULT=$!
sleep 1
kill $RESULT
done < file
$ more file
123 aaa
234 bbb
556 ccc