yes
GNU partedがユーザー入力を待たないように、このコマンドを使用したいと思います。
root@195-xxx-xxx-xxx:/proc# parted /dev/sda unit B resizepart 2 1166016512B
Warning: Shrinking a partition can cause data loss, are you sure you want
to continue?
Yes/No? y
Information: You may need to update /etc/fstab.
root@195-xxx-xxx-xxx:/proc# echo $?
0
ただし、yes
ここでは以下を使用して動作しません。
root@195-xxx-xxx-xxx:/proc# yes | parted /dev/sda unit B resizepart 2 166016512B
Warning: Shrinking a partition can cause data loss, are you sure you
want to continue?
root@195-xxx-xxx-xxx:/proc# echo $?
1
編集する:
この--script
オプションも効果がありません。
root@195-xxx-xxx-xxx:/proc# parted --script /dev/sda unit B resizepart 2 1166016512B
Warning: Shrinking a partition can cause data loss, are you sure you
want to continue?
root@195-xxx-xxx-xxx:/proc# echo $?
1
ベストアンサー1
私の場合は、ttyless SSHセッションでParted 3.2を使用しています。分離されたコードには次のテストがあるため、「Yes」コマンドハッキングは機能しません。
/* script-mode: don't handle the exception */
if (opt_script_mode || (!isatty (0) && !pretend_input_tty))
return PED_EXCEPTION_UNHANDLED;
「isatty」テストに注意してください。このテストは失敗します。 "pretend_input_tty"は、--pretend-input-ttyで有効にできる文書化されていないコマンドラインオプションです。
したがって、スクリプトでpartedを使用したい場合は、私の答えは次のようになります。
/sbin/parted -a optimal /dev/loop1 ---pretend-input-tty resizepart 4 Yes 522239s
それでも問題が解決しない場合は、Yes
最後に移動してみてください。
/sbin/parted -a optimal /dev/loop1 ---pretend-input-tty resizepart 4 522239s Yes
ノートttyの前にダッシュ3つを入力するふりをします。私はそれが私たちを驚かせるべきだと思います。しかし、わかりません。