Ejecutar una secuencia de comandos FTP desde un archivo

Denunciar
-
Recurro a la comunidad ya que busque por todos lados y no encontre nada. El tema es el siguiente. Tengo una serie de scripts bash que suben, borran determinados archivos (no siempre los mismos) a un servidor FTP. Con versiones antiguas de linux lo que hacia es grabar toda esa secuencia de comandos en un archivo de texto, y luego invocar el comando FTP pasandole con el signo < el archivo generado, por ejemplo:

echo 'cd planificacion' >baja.ftp
echo 'get ' $a_plantarde >>baja.ftp
echo 'get ' $a_planmanana >>baja.ftp
echo 'bye' >>baja.ftp
ftp ftp://$usuario:$clave@$ipTablet:$puerto < baja.ftp

Como les dije, esto andaba perfecto en versiones antiguas de linux. En versiones nuevas esto:

ftp ftp://$usuario:$clave@$ipTablet:$puerto < baja.ftp

NO funciona, por lo tanto la forma de realizarla es esta:

ftp -inv $ipTablet $puerto<<FINFTP
user $usuario $clave
cd planificacion
get $a_plantarde
get $a_planmanana
bye
FINFTP

Pero tengo el problema que la cantidad de archivos a subir o bajar y sus nombres son dinamicos, por lo tanto no puedo usar esta forma, o no me doy cuenta como hacerlo. La solucion, para mi, seria poder pasarle la lista de comandos en el archivo que genero y subo, por ejemplo, de esta forma:

for archivo in ../prepara/*.csv; do

hora=`date +"%d%m%Y-%H%M"`
longitud=`expr ${#archivo} - 7 `
indice=${archivo:$longitud:3}
nombre="entre$indice.csv"
nombreM="mixer$indice.csv"
nombremixer="mixer$indice-$hora.csv"
nombreentr="entr$indice-$hora.csv"

if [ -f ../entrega/$nombre ];
then
tamanionombreM=`stat -c %s ../prepara/$nombreM`
tamanionombreE=`stat -c %s ../entrega/$nombre`
if [ $tamanionombreM -gt 0 ];
then
echo "put $nombreM">>llevamixer.ftp
fi


if [ $tamanionombreE -gt 0 ];
then
echo "put ../entrega/$nombre">>llevamixer.ftp
fi


echo "get $nombre" >> llevamixer.ftp
echo "delete $nombre" >> llevamixer.ftp
fi
done
echo 'bye'>> llevamixer.ftp

ftp ftp://$usuario:$clave@$ipTablet:$puerto < llevamixer.ftp

Agradeceria cualquier tipo de ayuda al respecto. Atte, Ariel



Configuración: Linux / Chrome 94.0.4606.61