Variáveis ​​​​no comando set-hostname e mv no shell script

Variáveis ​​​​no comando set-hostname e mv no shell script

Eu tenho o script abaixo no 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

O comando mv faz uso de uma variável dos comandos acima. Mas não parece estar funcionando. O que recebo um erro é mv: não é possível mover '/etc/letsencrypt/live/autotest.domain.com' para um subdiretório próprio, '/etc/letsencrypt/live/autotest.domain.com/autotest.domain.com' Mesmo definir o nome do host também não pareceu funcionar (especialmente com variáveis), quando verifiquei o outro servidor para ver se o nome do host foi alterado. Tentei muitas coisas em torno de variáveis, como adicionar "" e {} etc, mas nada funcionou.

Alguém pode me ajudar nesse sentido.

Responder1

Variáveis ​​de shell NÃO são expandidas em texto entre aspas simples '. Use aspas duplas "para strings com variáveis ​​shell.

informação relacionada