Para que isso funcione, sugiro duas grandes mudanças:
- use chaves telefônicas públicas / privadas
- envia comandos na linha de comando para ssh
Você pode usar ssh-keygen
para gerar um novo par de chaves público-privadas e usar ssh-copy-id
para instalar a chave pública gerada na nova conta em 172.0.0.2
.
Depois disso, você não precisa mais passar pela sequência expect "123"
.
Isso também permite chamar ssh
com o comando na linha de comando mais facilmente
(assumindo que as timezondes em ambas as máquinas são as mesmas):
destPath='/archive/Input/ERICIN/AIR/EMG'
dayStamp='(date --date='1 day ago' '+%Y%m%d')'
ssh [email protected] "cd $destPath; cat 'emg_audit_1_'$dayStamp.csv| grep 'ACTPSO_NE_'$dayStamp| wc -l > /home/stsuser/eastregioncount/NEremote$dayStamp.txt"
if [ $? -ne 0 ]
then
echo "ERROR"
fi
O comando cd já lhe dirá que $ destPath não existe, não há necessidade de ecoar você mesmo. Mas você pode testar o código de saída e fazer algo mais significativo (do que o echo "Error"
), se necessário.