как мне преодолеть разделенный запрос подтверждения в скрипте - PullRequest
0 голосов
/ 26 сентября 2018

Интересно, кто-нибудь делал такие вещи:

Мне нужно использовать parted в скрипте, выполняя небольшую хитрую операцию.Я пытаюсь изменить расширенный раздел, содержащий раздел, на котором я загружен, поэтому я получаю запрос подтверждения, который приводит к ошибке выхода из режима сценария.

Когда я делаю это вручную, это работает.

Поэтому я попытался перенаправить свой ввод в parted, чтобы обойти это с помощью следующего скрипта:

#!/usr/bin/env bash
parted /dev/sda << EOT
resizepart
4
y
33593343s
Yes
I
EOT

Это неработать к сожалению.Я получаю

root@19912ac:/tmp# ./test.sh 
GNU Parted 3.2
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) resizepart                                                       
Partition number? 4                                                       
Warning: Partition /dev/sda4 is being used. Are you sure you want to continue?
(parted) y                                                              
  align-check TYPE N                     
help [COMMAND]                           print general help, or help on COMMAND
mklabel,mktable LABEL-TYPE               create a new disklabel (partition table)
mkpart PART-TYPE [FS-TYPE] START END     make a partition
name NUMBER NAME                         name partition NUMBER as NAME
print [devices|free|list,all|NUMBER]     display the partition table, available devices, free space, all found partitions, or a particular partition
quit                                     exit program
rescue START END                         rescue a lost partition near START and END
resizepart NUMBER END                    resize partition NUMBER
rm NUMBER                                delete partition NUMBER
...

Похоже, все идет хорошо, пока меня не попросят подтвердить изменение / dev / sda4.Мой следующий ввод (y) отображается в командной строке, но после этого я получаю только справочную информацию.

Кто-нибудь пробовал это раньше?

...