Você pode usar expect, segue abaixo um exemplo de expect, respondendo a um ssh e scp:
#!/bin/sh
# Autor: Rogerio Ferreira
HOST="$1"
USER="$2"
PASS="$3"
DIR_SRC="$4"
DIR_DST="$5"
DATE=$(date --date='yesterday' +'%F')
EXT="$6"
conn_ssh_list() {
expect -c "
set timeout -1
spawn ssh $USER@$HOST ls -ltr --full-time $DIR_SRC/*.$EXT
expect \"*assword: \" {send \"$PASS\r\"}
expect eof"
}
conn_ssh_copy() {
FILES=$(conn_ssh_list | grep $DATE | awk '{print $9}')
for FILE in $FILES
do
expect -c "
set timeout -1
spawn scp $USER@$HOST:$FILE $DIR_DST/
expect \"*assword: \" {send \"$PASS\r\"}
expect eof"
done
}
conn_ssh_copy
No script acima, o comando ssh e scp solicitam que o usuário entre com uma senha e enter. Então quando qualquer comando do seu script solicitar alguma intervenção humana, usa expect.
Para instalar expect do debian: aptitude install expect
No CentOS: yum install expect
--
Rogerio Ferreira
http://rogerioferreira.objectis.net--------------------------------------------------------
LPI 302 (Mixed Environment) Specialty
Senior Level Linux Professional (LPIC-3)
Advanced Level Linux Professional (LPIC-2)
Junior Level Linux Professional (LPIC-1)