Como usar 'e' (aspas) como argumento

1

Introdução

Em um script, quero executar um comando em uma janela separada para que a saída do comando apareça em uma nova janela (que é um fluxo de saída como top ) e eles não interfiram um no outro. Para isso eu uso gnome-terminal -x bash -c 'command' .
Por exemplo: "\ pode ser impresso usando gnome-terminal -x bash -c 'echo "\"\"; read ' ou gnome-terminal -x bash -c 'echo -e "\x22\x5c"; read ' . Eu simplesmente não estou interessado em hexadecimal porque ele não funcionará com outro comando que não seja echo .

Pergunta

Como posso imprimir "' ?
Executando gnome-terminal -x bash -c 'echo "\"\'"; read '
Existe alguma alternativa para gnome-terminal -x bash -c para executar um comando em uma nova janela? (Não no fundo).

Meu caso

gnome-terminal -x bash -c 'perl -le 'open(P,"sudo nethogs lo |");  $|=1;
while(<P>){ print "------","$_"; }'  >> /tmp/a.txt''  

O que eu faço atualmente é

  1. Atribuir código perl a uma variável cmd_perl='open(P,"sudo nethogs ppp0 |"); $|=1; while(<P>){ print "------","$_"; }'
  2. salve em um arquivo echo "$cmd_perl" > "/tmp/cmd_perl.pl"
  3. executá-lo no arquivo de apontamento bash gnome-terminal -x bash -c 'perl /tmp/cmd_perl.pl >> /tmp/nethogs-dump-from-perl.hex '
    Esse método funciona bem. Eu quero evitar o uso de arquivo temporário.

Como usar o comando echo para mostrar '? doesn' t responda a minha pergunta.

    
por totti 18.03.2013 / 08:15

1 resposta

0

Tente:

bash -c "echo \'"

ou

bash -c "echo \"'\""

Combinando:

$ bash -c 'echo "\"\"'"\'"
"\'
    
por Scrutinizer 18.03.2013 / 08:43