shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Variável com " dentro


From: Alain M.
Subject: Re: [shell-script] Variável com " dentro
Date: Tue, 23 May 2006 18:41:30 -0300
User-agent: Thunderbird 1.5.0.2 (X11/20060420)

Não funciona. Eu acho que não estou conseguindo me explicar:
O bash coloca algumas aspas simples a mais na expansão da variável que srão depois eliminadas pelo comando echo. Mas se fizer isso no tar (por exemplo) dá erro. O resultado parece certo mas o comando TEM UMAS ASPAS A MAIS

Salve este script e execute que no debug é que dá para ver!
#!/bin/bash
set -x
A=\"123\"
echo $A

Help please,
Alain

Tiago Barcellos Peczenyj escreveu:
simples: englobe com aspas simples:

$ VAR=' --newer="Mon, 22 May 2006 22:19:27 -0300"'

$ echo tar $VAR
tar --newer="Mon, 22 May 2006 22:19:27 -0300"

$ eval tar $VAR
tar: You must specify one of the `-Acdtrux' options
Try `tar --help' or `tar --usage' for more information.


Em 23/05/06, Alain M.<address@hidden> escreveu:
O que eu preciso é de um string com aspas dentro! O conteúdo deveria ser:
   X="123"
Incluíndo o X= e sa aspas, ou seja 7 caracteres. Daí eu preciso colocar
na linha de outro comando sel as aspas simples.

OBS na verdade é para o tar: a variável deve ser
   --newer="Mon, 22 May 2006 22:19:27 -0300"
e depois o camando deve ser
   tar --newer="Mon, 22 May 2006 22:19:27 -0300" ...etc
só que aparecem aspas simples :( :(

Alain

Tiago Barcellos Peczenyj escreveu:
Se vc tem uma variavel cujo corpo é composto de algo circundado de
caracteres, vc pode fazer assim:

A=\"123\"
# 3 formas :-)
eval echo $A
echo $A | tr -d \"
echo ${A//\"/}

alguma ajuda ?

Em 22/05/06, Alain M.<address@hidden> escreveu:
Eu fiz este script:

#!/bin/bash
set -x
A=\"123\"
echo $A

mas o resultado é

+ A='"123"'
+ echo '"123"'
"123"

Como que eu retiro as aspas simples na linha do echo??? Já tentei de tudo...

Grato,
Alain



reply via email to

[Prev in Thread] Current Thread [Next in Thread]