回答:
番号。
(デバッガで「インタラクティブ」ビットを反転する方法を見つけない限り。)
coreutils/src/remove.c:335→ coreutils/lib/yesno.c:46(生成)→ rpmatch(3): "認識された否定応答(" no ")の場合は0、肯定応答(" yes ")の場合は1を
まあ、これは本当にあなたの質問に答えません。ただし、を使用する代わりにrm -i、次のエイリアスrmを検討してrm -Iください。
マニュアルページは次のように述べています:
-I prompt once before removing more than three files, or when removing
recursively. Less intrusive than -i, while still giving protection
against most mistakes
あなたの中に~/.bashrc、入れて:
alias rm='rm -I'
これは実際に便利です!
画面で実行している場合(一般的には良い考え)、次のことができます。
ctrl-a : exec .! yes y
これにより、screenはyを出力として 'yes'コマンドを実行し、その出力を実行中のプログラムに送信します(rm -i)。
これは、オンザフライでアプリケーションファイル記述子を置き換えることで実行できます。ただし、中間ファイルが必要になります。
次のようにgdbと名前付きパイプを使用できます(より多くの端末を使用していると仮定すると、それ以外はscreenまたは何かを使用する必要があります)。
次に、PDBを置き換えて、gdbに次のコマンドを入力します。
attach rmPID
call open("/path/to/myYesYesPipe",66,0666)
call dup2(3,0)
call close(3)
detach
quit
これは、キーボードをrmの名前付きパイプに置き換えます。
次に、名前付きパイプを埋める必要があります
rmはパイプを読み取り、すべてを上書きします。
rmプロセスをバックグラウンドで実行しCtrl+Zます。rm -i *コマンド)を呼び出す-iEnter コマンドを実行するにはfg %1Ctrl+C5s/fg/kill/; 6d