No he tenido mucha experiencia con bash en absoluto. La siguiente secuencia de comandos funcionó cuando no usé el comando de búsqueda y simplemente salí del archivo. Pero estoy tratando de encontrar y transferir un archivo al que se ha agregado d / m / y el día de hoy y transferir solo este después de encontrarlo.
Actualmente da el error "archivo no encontrado" y tampoco estoy seguro de cómo usar las variables en esta situación, ya que soy un codificador PHP. Gracias
#!/usr/bin/expect -f
FILENAME = appendname_".date +%d%m%Y;
spawn bash -c "scp "find /www/reports/archives . -name
$FILENAME.txt" ftpdomain.com:/"
expect "password:"
send "pwaordr"
expect "*r"
expect "ok"
Respuestas
1 para la respuesta № 1Te recomiendo que uses ssh-keygen
y instala la llave en su servidor, entonces puede utilizar scp
sin tener que proporcionar una contraseña a través de expect
. A tu pregunta, puedes usar sustitución de comando (bash apoya $()
y ``), algo como
spawn bash -c "scp $(find /www/reports/archives -name $FILENAME.txt)
ftpdomain.com:/"