Isso é tão
manjado, que acho que não é o que vc quer, mas veja:
$ Nome="Julio
Cardoso"
$ echo $Nome
Julio Cardoso
$ echo
"$Nome"
Julio
Cardoso
$ echo
'$Nome'
$Nome
$ echo \$Nome
$Nome
Vamos
engrossar o conteúdo:
$ Cmds="echo $Nome; echo
$Perereca; test -z $Perereca && echo vazio"
$ echo $Cmds
echo Julio Cardoso; echo ;
test -z && echo vazio # Interpretou
$ Cmds='echo $Nome; echo
$Perereca; test -z $Perereca && echo vazio'
$ echo $Cmds
echo $Nome; echo $Perereca;
test -z $Perereca && echo vazio # Ñ
interpretou
Como vc viu,
se o nome da variável estiver entre apóstrofes ou se o
cifrão vier precedido de uma contrabarra, seu conteúdo
não é interpretado. Para colocar contrabarra antes de
todos os cifrões, faça:
$ sed 's/\$/\\\$/g'
<<< "$Cmds"
echo \$Nome; echo
\$Perereca; test -z \$Perereca && echo vazio
Se os
comandos estiverem no arquivo ARQ, faça:
$ sed 's/\$/\\\$/g' ARQ