Variables en el comando set-hostname y mv en el script de shell

Variables en el comando set-hostname y mv en el script de shell

Tengo el siguiente script en Shell:

read n
for ((i=1;i<=$n;i++))
do
echo "Connecting to $publicip"
ssh -i ./key.txt root@$publicip 'hostnamectl set-hostname autotest$i.domain.com && mv /etc/letsencrypt/live/autotest.domain.com /etc/letsencrypt/live/autotest$i.domain.com && reboot'
done

El comando mv hace uso de una variable de los comandos anteriores. Pero no parece estar funcionando. Lo que recibo es un error mv: no se puede mover '/etc/letsencrypt/live/autotest.domain.com' a un subdirectorio de sí mismo, '/etc/letsencrypt/live/autotest.domain.com/autotest.domain.com' Incluso establecer el nombre de host tampoco pareció funcionar (especialmente con variables), cuando revisé el otro servidor para ver si se cambió el nombre de host. Intenté muchas cosas con variables como agregar "" y {}, etc., pero nada funcionó.

¿Alguien puede ayudarme en este sentido?

Respuesta1

Las variables de shell NO se expanden en texto entre comillas simples '. Utilice comillas dobles "para cadenas con variables de shell.

información relacionada