Isso deve fazer o trabalho:
#!/bin/bash
for i in *.cfg; do
sshpass -f /path/to/passwordfile scp ${i%.cfg}.txt username@${i%.cfg}:
done
ou melhor
for i in *.cfg;do sshpass -f /path/to/passwordfile scp ${i%.cfg}.txt username@${i%.cfg}:;done
A senha é passada para scp
usando sshpass
(seguindo Como passar password to scp? ) que lê a partir de passwordfile
- lembre-se de proteger este arquivo contra acesso de leitura não autorizado com chmod 400
!
Eu fiquei um pouco confuso com o arquivo que você quer enviar aqui, eu entendi que existe um arquivo ABC123.txt
que tem que ser enviado para hospedar ABC123
, então eu apenas tirei .cfg
usando Expansão do Parâmetro Bash e adicionou .txt
.
Como user@host:
é o diretório inicial do user
, eu removi o caminho.