Как автоматически ответить на интерактивную программу cli (не скрипт) с помощью скрипта bash?
Я гуглил это, и почти все, что я мог найти, это ответить на сценарий bash, и это не работает для меня. Ответы, которые я нашел, сказали сделать:
echo "yes" | ./script
или же
./script <<< yes
или что-то типа того. Это не сработало для меня. Я думаю, это потому, что я хочу автоматически отвечать на исполняемую программу, а не на скрипт. Точнее хочу автоответчик parted
, Вот
parted -a optimal /dev/sda mklabel msdos
Warning: The existing disk label on /dev/sda will be destroyed and
all data on this disk will be lost. Do you want to continue?
Yes/No? _
Я пытаюсь сделать
echo "yes" | parted -a optimal /dev/sda mklabel msdos
а также
parted -a optimal /dev/sda mklabel msdos <<< yes
Оба метода не сработали. Те не ответили yes
в parted
незамедлительный.
Итак, как я могу автоматически ответить на это parted
подскажите без использования скрипта bash?
1 ответ
Решение
С parted
Вы можете просто добавить -s
опция:
parted -a optimal -s /dev/sda mklabel msdos
Из Надежного man
страница для parted
:
[...] -s, --script никогда не запрашивает вмешательства пользователя [...]