Answers:
没有。
(除非您找到一种通过调试器翻转“交互”位的方法。)
coreutils/src/remove.c:335
→ coreutils/lib/yesno.c:46
(生成)→ rpmatch(3)
:“对于公认的否定响应(“否”)返回0,对于肯定的肯定响应(“是”)返回1,并且当响应值未被识别时返回-1”
如果您在屏幕上运行(通常是个好主意),则可以执行以下操作:
ctrl-a : exec .! yes y
这将导致屏幕以y为输出运行“ yes”命令,并将所述输出定向到正在运行的程序(rm -i)。
这可以通过动态替换应用程序文件描述符来完成。但是,您将需要一个中间文件。
您可以使用gdb和这样的命名管道(假设您正在使用更多终端,否则必须使用屏幕或其他方式):
然后在gdb中键入以下命令,替换PID
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 *
命令)-i
Enter
运行命令fg %1
Ctrl+C
5s/fg/kill/; 6d