[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Problema com caracteres especiais "" '' ``
From: |
Alan Messias |
Subject: |
Re: [shell-script] Problema com caracteres especiais "" '' `` |
Date: |
Thu, 15 May 2008 16:23:10 -0300 |
Olá...
Coloca o "\" (barra invertida) na frente do -y...
Ex.:
#!/bin/bash
t='gksudo "aptitude \-y safe-upgrade"'
$t
Isso faz com que o caractere seja encarado de forma literal!
Abraços,
Alan MeC
2008/5/15 miguelcm86 <address@hidden>:
> Olá
>
> Estou aqui a fazer uns updates a um script e surgiu um problema, para
> não ter que colocar aqui o programa todo, pois é muito grande vou
> fazer um exemplo simples que se funcionar bem irá funcionar bem no
> programa todo.
>
> O objectivo é guardar numa variável um comando que tem a seguinte string:
> gksudo Comando
>
> #!/bin/bash
> t='gksudo "aptitude -y safe-upgrade"'
> $t
>
> portanto ele tem de guardar esta string e depois quando faz $t ele rodará.
>
> O problema surge porque quando ele executa $t, ele interpreta assim
> (usei o set -x para ver):
> gksudo '"aptitude' -y 'safe-upgrade"'
>
> O comando dá erro pois o -y não é um argumento do gksudo.
>
> Não sei como resolver isto, já tentei de varias formas, com `` [ ] { }
> e não consigo de nenhuma dessas formas, simplesmente queria que a
> string quando fosse executada por $t, ele interpreta-se assim:
>
> gksudo "aptitude -y safe-upgrade"
> ou assim
> gksudo 'aptitude -y safe-upgrade'
> ....
> qualquer uma dessas maneiras acima funciona perfeitamente, mas não
> consigo inserir esse texto assim dentro de uma string sem ele alterar.
>
> Obrigado
>
>
>
--
"-"-"-"-"-"-" Of couse it runs NetBSD "-"-"-"-"-"-"
[As partes desta mensagem que não continham texto foram removidas]