Aqui está uma solução possível que pode ser adicionada ao script bash. Isso não é ideal, pois fará uma nova conexão para cada arquivo.
#!/bin/bash
# set variables
USER="username"
HOST="hostname"
file_list="file1 file1 file3 file4"
# delete each file
for file in $file_list; do
echo "rm $file" | sftp $USER@$HOST
done
exit 0
Este one-liner é muito melhor! file1-9 sendo nomes de arquivos para remover, use uma variável se você quiser, é a mesma coisa.
for file in file1 file2 file3 file4 file5 file6 file7 file8 file9; do echo -e "rm $file" >> sftp_batch; done; sftp -b sftp_batch username@hostname; rm sftp_batch