如何使用 bash 脚本自动应答交互式 cli 程序(不是脚本)?

如何使用 bash 脚本自动应答交互式 cli 程序(不是脚本)?

我用谷歌搜索过这个问题,几乎我能找到的都是回答一个 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, - 脚本
              永远不会提示用户干预
[...]

相关内容