Ele acabou por intrepetar desta forma: +gksudo '"aptitude' '\-y' 'safe-upgrade"
não ocorreu erros, apareceu para inserir a password, mas não executou o comando em si. Deve de estar a faltar um detalhe, alguém tem alguma sugestão? Obrigado Alan Messias ;) --- Em [email protected], "Alan Messias" <[EMAIL PROTECTED]> escreveu > > 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 <[EMAIL PROTECTED]>: > > > 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] >
