Isso é simples. Se você quiser que echo imprima o valor de $SELECT , não use aspas simples ' , em vez disso, faça aspas duplas " . Seguimentos são os significados de citações e contrabarra.
-
As aspas duplas ("quote") protegem tudo entre dois marcas de aspas duplas, exceto
$,',"e\.Use aspas duplas quando você quer apenas variáveis e substituição de comandos.- Variável - Sim
- Wildcards - Não
- Substituição de comando - sim
-
A citação única ('citação') protege tudo entre dois marcas de aspas simples. É usado para desligar o significado especial de todos caracteres.
- Variável - Não
- Wildcards - Não
- Substituição de comando - Não
-
Use barra invertida ('\') para alterar o significado especial dos caracteres ou para escape de caracteres especiais dentro do texto, como aspas.
Assim seu comando deve ser:
#!/bin/bash
ICONS=$(ls -I "*.*" /usr/share/icons); SELECTED=$(zenity --list --column=/usr/share/icons \ $ICONS); echo "gtk-icon-theme-name=\"$SELECTED\"" >~/.gtkrc-2.0.mine