Digamos que quería asegurarme de que primero estoy eliminando los archivos correctos, así que hice algo como:
rm -i *
solo para asegurarme de que estoy de acuerdo con los archivos que estoy eliminando. Entonces esto me preguntará por cada archivo. Después de algunos archivos, supongamos que me doy cuenta de que es exactamente lo que quería eliminar. En lugar de CTRL+C
hacer y simplemente hacer rm *
, ¿hay alguna forma en que pueda decir Sí a todos ?
Esta pregunta proviene más de la curiosidad que de la funcionalidad.
Respuestas:
No.
(A menos que encuentre una manera de voltear el bit 'interactivo' con un depurador).
fuente
coreutils/src/remove.c:335
→coreutils/lib/yesno.c:46
(generado) →rpmatch(3)
: "devuelve 0 para una respuesta negativa reconocida (" no "), 1 para una respuesta positiva reconocida (" sí ") y -1 cuando el valor de la respuesta no se reconoce"Bueno, esto realmente no responde a tu pregunta. Pero en lugar de usar
rm -i
, considere usar aliasrm
pararm -I
:La página del manual dice:
en tu
~/.bashrc
, pon:¡Esto es realmente útil!
fuente
La respuesta es sí, usando este código:
$ yes "yes" | rm -vRI directory
fuente
Solo verifique primero usando
ls *.bla
y luegorm -f *.bla
tal vez?¡Con precaución!
fuente
Si está ejecutando en pantalla (una buena idea en general), puede hacer:
Esto haría que la pantalla ejecutara el comando 'yes' con y siendo la salida, y dirija dicha salida al programa en ejecución (rm -i).
fuente
Esto se puede hacer reemplazando los descriptores de los archivos de la aplicación sobre la marcha. Sin embargo, necesitará un archivo intermedio.
Puede usar gdb y una tubería con nombre como esta (suponiendo que esté usando más terminales, de lo contrario, debe usar la pantalla o algo más):
Luego escriba los siguientes comandos en gdb, reemplazando el PID
Esto reemplaza el teclado con una tubería con nombre para rm.
Ahora tienes que llenar la tubería nombrada
rm leerá la tubería y sobrescribirá todo.
fuente
rm
proceso en segundo plano conCtrl+Z
.rm -i *
comando)-i
Enter
ejecutar el comandofg %1
Ctrl+C
fuente
5s/fg/kill/; 6d