мы используем какой-то сторонний интерактивный инструмент командной строки, и мы используем tee
для регистрации того, что сделал пользователь - чтобы проверить позже, если это необходимо ...
Инструмент работает так, как он спрашивает, какое действие пользователь хочет выполнить, и пользователь выбирает что-то и продолжает с подменю, или действие выполняется.
Недавно (когда нам нужно было проверить такой журнал) мы поняли, что пользовательских входов там нет. Есть ли альтернатива - как этого добиться?
Когда я пытался смоделировать инструмент с:
$ cat r.sh
read -p "Enter some text: " text
echo $text
echo -n "Enter another text: "
read text2
echo $text2
Я проверил, и это вывод
$ ./r.sh | tee run.log
Enter some text: abc
abc
Enter another text: def
def
$ cat run.log
abc
Enter another text: def
В идеале, я бы хотел, чтобы у пользователя было то же самое, что и вы.
Решение:
Если кому-то это нужно, я проверял
script -c ./r.sh script.log
и это сработало, как и ожидалось + я протестировал с этим сторонним инструментом.
script
запускает вложенную оболочку (или другую программу), и запись завершается при выходе из этой оболочки или программы. Это все, что нужно сделать.