¿Existe alguna utilidad que siempre solicite confirmación al usuario antes de ejecutar un comando similar al que sudosolicita la contraseña?
bash
command-line
m33lky
fuente
fuente

cdyls?Respuestas:
¿Desea que funcione sin escribir un comando adicional, por ejemplo,
O solo cuando el usuario escribe algo como
O solo cuando el usuario intenta ejecutar ciertos comandos, p. Ej.
pero no para
Si la opción 1, eso se puede hacer usando el enlace preexec en zsh, o la trampa DEBUG en bash.
Si es la opción 2, coloque algo como esto en
/etc/bash.bashrcotro archivo de inicio de shell.Si la opción 3, se puede modificar el
confirmscript de arriba, o, algunos comandos tienen la opción de pedir antes de hacer algo, por ejemplorm -i. Se puede poneralias rm='rm -i'en/etc/bash.bashrc.fuente
He jugado un poco con bash y descubrí un truco por el cual esto podría ser posible.
Puede guardar este script en, digamos,
confirm-any-command.shysourceen subashrc. Le pedirá confirmación de cada comando que intentará ejecutar.Tenga en cuenta que esto no es más que un truco de prueba de concepto; Dudo que realmente pueda ser útil de esta forma. Si tiene que confirmar todos y cada uno de los comandos que escribe, muy pronto adquirirá el hábito de presionar automáticamente "sí" después de cada comando. Su mapeo mental "fin de comando" cambiará de simplemente Entera Enter, yes, Enter- se le escribiéndolo en su conjunto, ni siquiera tratar de pasar algún tiempo en verificar que realmente quiere este comando a ejecutar. Esto es contraproducente y no te ayudará.
fuente
Allow? 1) yes 2) no #?ningunoyes, ninoel trabajo que causa bucle infinito (Debian 8)help select: se supone que debes ingresar1o en2lugar deyesono. El reintento automático para entradas no válidas es el comportamiento previsto (para que el escritor de guiones no tenga que reinventarse awhilesí misma, conservando la concisión y la claridad), y la entrada EOF termina el ciclo. Sabiendo eso, puedes comprobar que el script anterior funciona. No lo modificaré, ya que de todos modos es una cruda prueba de concepto.y e s Enterejemplo me confundió