Estoy escribiendo un Shell Script donde tengo que eliminar un archivo en una máquina remota a través de un Shell Script.
Flujo manual:
ssh username@domain.com
.. luego en el dominio:
cd ./some/where
rm some_file.war
¿Cómo lograr esa tarea?
ssh
shell-script
mico
fuente
fuente
-f
a larm
ejecución de llamadas remotas?rm
, sin duda deberían transmitirse a la persona que llama a menos que el usuario sepa qué esperar y por qué están anulando algo. Muchos errores y depuración frustrante más adelante se pueden evitar utilizando solo las opciones que necesita en un senario determinado.-f
opciónrm
es abreviatura--force
y tiene un efecto sobre si se detectan errores para archivos no existentes o argumentos falsos. Por lo general, los comandos que se ejecutan sobre shells no interactivos por defecto son menos interactivos de todos modos, pero no lo es o si recibe un mensaje interactivo, lo que debería hacer sería corregir la configuración directamente relacionada con eso. Si está presente scripting que no debería tener ese problema de todos modos, y si usted está en un shell interactivo (donde se tiene la posibilidad de errores tipográficos catastróficos) se debe utilizar-I
en--interactive=never
configurar el comportamiento deseado.Si desea eliminar el archivo remoto con el uso de sudo, debe ejecutar algo como esto:
Detalles .
fuente
El comando ssh tiene un parámetro de comando (último parámetro en el comando) que puede usar para ejecutar comandos remotos.
fuente
Configure las teclas sin contraseña y luego agregue el comando como parte del comando ssh. Ver: http://www.dotkam.com/2009/03/10/run-commands-remotely-via-ssh-with-no-password/
fuente