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
- Assigner un code perl à une variable
cmd_perl='open(P,"sudo nethogs ppp0 |"); $|=1; while(<P>){ print "------","$_"; }'
- enregistrer dans un fichier
echo "$cmd_perl" > "/tmp/cmd_perl.pl"
- 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.