J'ai un plugin qui génère et copie dans le presse-papiers une commande prête à coller. Pour l'instant j'ouvre un nouveau terminal, colle la commande et l'exécute. Je veux écrire un script qui ouvre automatiquement un nouveau terminal et exécute cette commande en utilisant le presse-papiers en entrée.
J'ai essayé d'utiliser xclip mais je ne sais pas comment diriger sa sortie vers gnome-terminal, et tous les threads que j'ai vus se concentrent sur le problème opposé: enregistrer la sortie de la commande dans le presse-papiers, ce qui n'est PAS ce que je veux faire.
Ce que j'ai essayé: xclip -se c -o | gnome-terminal -e
Il indique "Échec de l'analyse des arguments: argument manquant pour -e". Donc au moins j'ai un problème de syntaxe.
J'ai le sentiment que je ne vais peut-être pas aborder ce problème de la bonne façon. Complétez noob ici, donc plus il y a de détails, mieux c'est!
Merci!
Il semble que gnome-terminal
ne peut pas recevoir d'entrée de stdin, vous devez donc utiliser substitution de commande :
gnome-terminal -e "$(xclip -se c -o)"
De plus, si vous souhaitez effectuer le fractionnement et la globalisation de Word sur le contenu du presse-papiers avant son exécution, vous pouvez utiliser ceci:
gnome-terminal -x $(xclip -se c -o)
Si vous devez maintenir le terminal ouvert à la fin de la commande, vous pouvez utiliser ceci:
gnome-terminal -x bash -c "$(xclip -se c -o); read -p 'Press Enter to close.'"
Ou si vous souhaitez accéder à une invite interactive:
gnome-terminal -x bash -c "$(xclip -se c -o); bash"
Pour plus d'idées, voir Avec un lanceur pour une application de terminal, comment puis-je garder le terminal ouvert une fois le programme terminé?