Estoy buscando una solución que se utilice como respuesta a "rm: ¿eliminar el archivo regular protegido contra escritura [x]?"
Estaba pensando en emitir un personaje seguido de un retorno de carro varias veces, en bashrc. ¿Como hacemos eso?
Estoy buscando una solución que se utilice como respuesta a "rm: ¿eliminar el archivo regular protegido contra escritura [x]?"
Estaba pensando en emitir un personaje seguido de un retorno de carro varias veces, en bashrc. ¿Como hacemos eso?
Respuestas:
Editar según la pregunta actualizada:
Para evitar que se le pregunte si desea eliminar archivos, agregue la -fopción ("forzar"):
rm -f /path/to/file
Esto tiene un efecto secundario que debe tener en cuenta: si alguna de las rutas dadas no existe, no informará de esto y volverá con éxito:
$ rm -f /nonexistent/path
$ echo $?
0
Respuesta original:
Aquí hay una solución simple:
yes "$string" | head -n $number | tr $'\n' $'\r'
yesrepite cualquier cadena que le des infinitamente, separada por nuevas líneas. headlo detiene varias $numberveces y trtraduce las nuevas líneas a retornos de carro. Es posible que no vea ningún resultado debido a los retornos de carro, pero pasarlo a este comando (en bash) debería ilustrarlo:
printf %q "$(yes "$string" | head -n $number | tr $'\n' $'\r')"
Los usuarios sin bashtubo de lata el resultado de od, hexdumpo xxdpara ver los caracteres reales devueltos.
El otro problema con el que me encuentro de vez en cuando es que rmtiene un alias rm -i, algo como esto en / etc / bashrc:
alias rm='rm -i'
En ese caso, puedes unalias rmusar este truco que descubrí hace años o poner una barra diagonal inversa frente a un comando con alias para ignorar el alias solo esa vez, por ejemplo:
\rm somefile
Puede obtener más información sobre los alias a través de un artículo en Nixcraft .
rmestá codificado para preguntar "interactivamente" (espera de la entrada del usuario) en archivos protegidos contra escritura. Hay dos métodos para evitar rmpreguntar:
rm -rf somedir
y
rm -r --interactive=never somedir
(ambos también funcionan sin -reliminar archivos en lugar de directorios)
explicación:
-fhace rmpara "ignorar los archivos y argumentos inexistentes, nunca preguntar".
--interactive=neverhace lo que dice: nunca seas interactivo. en otras palabras: nunca preguntar.
La diferencia entre -fy --interactive=neveres esta parte: "ignorar los archivos y argumentos inexistentes".
comparar:
$ rm -rf nonexistingname
$ echo $?
0
y
$ rm -r --interactive=never nonexistingname
rm: cannot remove 'nonexistingname': No such file or directory
$ echo $?
1
La diferencia es principalmente interesante cuando se escriben guiones en los que nunca quieres rmser interactivo pero aún quieres manejar errores.
resumen: en uso de línea de comando rm -rf. en uso de guiones rm -r --interactive=never.
para obtener una respuesta a la pregunta indicada ("Cómo evitar la necesidad de emitir" y "varias veces al eliminar el archivo protegido") consulte https://askubuntu.com/questions/338857/automatically-enter-input-in-command-line / 338860 # 338860
Yo también me encontré con el mismo problema. La respuesta anterior es solo para un archivo, pero si desea ignorar muchos sí.
Puedes usar
sudo rm -r /path/to/directory
para eliminar todos los archivos regulares protegidos contra escritura