Escapar variavel dentro de aspas simples

1. Escapar variavel dentro de aspas simples

Tiago Barros Soares
tbsoares

(usa CentOS)

Enviado em 25/01/2011 - 19:06h

Pessoal, boa noite!

Tenho um shellscript (trecho abaixo) que adiciona impressoras no meu CUPS/SAMBA automaticamente... O problema é que quando passo a variável $NOME_IMPRESSORA que vai "dentro" de um comando (smbclient) com aspas simples, ela é escrita literalmente e não a variavel traduzida.

Não adianta colocar entre "" ou escapar que não vai... Alguma luz?

Segue trecho do script:

echo "Qual o nome da Impressora(EXATAMENTE como criado no CUPS)?"
read NOME_IMPRESSORA
echo "O nome desejado é $NOME_IMPRESSORA? [S/N]"
read RESPOSTA
if [ $RESPOSTA == S ]; then
echo "\nCopiando drivers para compartilhamento...\n\n"
sleep 1
smbclient //localhost/print$ -U root -c 'put /usr/share/cups/drivers/cups6.ini W32X86/cups6.ini;put /usr/share/cups/drivers/cupsps6.dll W32X86/cupsps6.dll;put /usr/share/cups/drivers/cupsui6.dll W32X86/cupsui6.dll;put /usr/share/cups/drivers/$NOME_IMPRESSORA.ppd W32X86/$NOME_IMPRESSORA.ppd'


  


2. Re: Escapar variavel dentro de aspas simples

Perfil removido
removido

(usa Nenhuma)

Enviado em 25/01/2011 - 20:31h

não sei se vc percebeu, mas vc está usando essas aspas ' ' fechando todo o parametro a ser passado, ou seja, essas aspas le os caracteres como eles são e não oq representa, nesse caso $NOME_IMPRESSORA é somente $NOME_IMPRESSORA e não oq essa variavel representa

tenta assim

smbclient //localhost/print$ -U root -c "put /usr/share/cups/drivers/cups6.ini W32X86/cups6.ini;put /usr/share/cups/drivers/cupsps6.dll W32X86/cupsps6.dll;put /usr/share/cups/drivers/cupsui6.dll W32X86/cupsui6.dll;put /usr/share/cups/drivers/$NOME_IMPRESSORA.ppd W32X86/$NOME_IMPRESSORA.ppd"


3. Re: Escapar variavel dentro de aspas simples

Renan da Silva Alves
ralves94

(usa Ubuntu)

Enviado em 15/08/2016 - 03:22h

Obrigado por ter postado a solução ! Me ajudou muito






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts