Variável de shell em uma tag href

1

Eu escrevi um script simples, aqueles que enviam e-mail com link html.

#!/bin/bash
ASS=10
sendmail [email protected] <<EOF
Subject: Simple title
<html>
<body>
this is just a link
URL: <a href="http://test.site/index?redirect=tail_$ASS_Tail\&noAUTO=1">Go to site</a>
</body>
</html>
EOF

Mas quando o email chegou, $ ASS não insere no link e eu vejo o seguinte link $ 1 & noAUTO = 1 Como consertar isso?

    
por DeadKenny 17.10.2016 / 09:31

1 resposta

1

Isso porque _ é um caractere constituinte de variável válido. Você tem:

URL: <a href="http://test.site/index?redirect=tail_$ASS_Tail\&noAUTO=1">

Aqui, o nome da variável está sendo usado como ASS_Tail , ou seja, até o número máximo de caracteres válidos (até \ ) a partir de ASS .

Você precisa colocar a declaração do nome da variável com ${} quando houver caracteres válidos após o nome:

URL: <a href="http://test.site/index?redirect=tail_${ASS}_Tail\&noAUTO=1">
    
por 17.10.2016 / 09:39