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