Во-первых, я написал сценарий оболочки для копирования файла командой dd:
Во-вторых, я написал в другом файле скрипт для отображения хода выполнения копии.
Проблема в том, что я не могу поместить вывод хода выполнения команды dd в файл в реальном времени
Я работаю над debian и пытаюсь использовать команды 'dd' и 'kill -USR1 $ pid_dd'. Я хочу получить значения в ГБ (например, 5,2 ГБ; 7,8 ГБ и т. Д.), Чтобы узнать ход копирования.
В первом файле сценария это то, что я написал:
#!/bin/sh
dd if=/dev/zero of=data.txt count=1024 bs=10485760
Во втором файле сценария это то, что я написал:
#!/bin/sh
pid_dd=$(pgrep -l '^dd$' | grep -o -E '[0-9]+')
watch -n 1 kill -USR1 $pid_dd | grep -o '[0-9]\+ .GB$'>>output.txt
Когда я запускаю второй сценарий для отображения вывода в файле, чтобы получить в ГБ ход выполнения копирования, я заметил, что файл 'output.txt' пуст.
Как мы можем отобразить значение вывода команды watch -n 1 kill $pid_dd | grep -o '[0-9]\+ .GB$'
в файл?
N.B .: Я знаю, что мы можем использовать эту команду: dd if=/dev/zero of=data.txt
status = progress
Я не хочу этим пользоваться. Я хочу работать с 2 файлами сценария, чтобы запустить их с потоками на втором этапе. Первый поток, который запустит команду dd, и второй поток, который запустит скрипт, чтобы отобразить ход выполнения копирования
Заранее благодарю за помощь и советы.