1 votes

Comment utiliser ' et " (guillemets) comme argument ?

Intro

Dans un script, je veux exécuter une commande dans une fenêtre séparée afin que la sortie de la commande s'affiche dans une nouvelle fenêtre (qui est un flux de sortie comme top ) et ils n'interfèrent pas entre eux. Pour cela, j'utilise gnome-terminal -x bash -c 'command' .
Par exemple : "\ peut être imprimé en utilisant gnome-terminal -x bash -c 'echo "\"\\"; read ' o gnome-terminal -x bash -c 'echo -e "\x22\x5c"; read ' . Je ne suis juste pas intéressé par hexadécimal car il ne fonctionnera pas avec une autre commande que echo .

Question

Comment puis-je imprimer "' ?
Exécuter gnome-terminal -x bash -c 'echo "\"\'"; read '
Existe-t-il une alternative à gnome-terminal -x bash -c pour exécuter une commande dans une nouvelle fenêtre (pas en arrière-plan).

Mon cas

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

Ce que je fais actuellement est

  1. Assigner un code perl à une variable cmd_perl='open(P,"sudo nethogs ppp0 |"); $|=1; while(<P>){ print "------","$_"; }'
  2. enregistrer dans un fichier echo "$cmd_perl" > "/tmp/cmd_perl.pl"
  3. l'exécuter dans le fichier de pointage bash gnome-terminal -x bash -c 'perl /tmp/cmd_perl.pl >> /tmp/nethogs-dump-from-perl.hex '
    Cette méthode fonctionne bien. Je veux éviter l'utilisation du fichier temporaire.

Comment utiliser la commande echo pour afficher ' ? ne répond pas à ma question.

0voto

Scrutinizer Points 529

Essayez :

bash -c "echo \'"

o

bash -c "echo \"'\""

En le combinant :

$ bash -c 'echo "\"\\"'"\'"
"\'

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X