2017-01-14 1 views
0

Ich bin müde von nur im Internet gehen meine öffentliche IP zu prüfen, also habe ich eine ip.run Datei erstellt :)Linux - Wie eine Ausgabe eines Befehls in die Zwischenablage kopieren

Das ist, was ist in dieser Datei gespeichert:

dig TXT +short o-o.myaddr.l.google.com @ns1.google.com | awk -F'"' '{ print $2}' 
cat ip.run | xclip 

ich es mit ./ip.run Befehl ausführen, und ich meinen öffentlichen IP successfuly von google-Servern, aber es wird nicht in der Zwischenablage kopiert noch .. Also, was ich achive will , ist es, die Ausgabe von dig-Befehl automatisch in die Zwischenablage zu kopieren. Aber natürlich funktioniert das, was ich bisher gemacht habe, nicht ... Ich brauche wirklich Hilfe zu diesem Thema: P Vielen Dank!

+0

'dig TXT + kurz o-o.myaddr.l.google.com @ ns1.google.com | awk -F '"' {print $ 2} '| xclip' sollte den Trick machen – rsm

Antwort

0

Ich empfehle, den Wert in einer Umgebungsvariablen zu speichern. Das Folgende funktioniert für die Korn-Shell. Wenn Sie bash verwenden, müssen Sie es ändern. Ihr Befehl:

$ dig TXT +short o-o.myaddr.l.google.com @ns1.google.com | awk -F'"' '{ print $2}' 
24.62.111.99 
Do this: 
$ export MY_VARIABLE=`dig TXT +short o-o.myaddr.l.google.com @ns1.google.com | awk -F'"' '{ print $2}'` 
$ print $MY_VARIABLE 
24.62.111.99 

Beachten Sie die Zurück-Anführungszeichen ``, die Ihren Befehl einschließen.

+0

Wie kann ich das ausführen? Ich habe versucht mit ./ip.run aber es gibt mir" Zeile 1: Befehl nicht gefunden; Zeile2: Befehl nicht gefunden; Error. –

+0

Lassen Sie uns sagen, dass Ihre Shell-Skript "ip.run" ist wie folgt: $ cat ip.run #/bin/bash dig TXT + short o-o.myaddr.l.google.com @ ns1.google.com | awk -F '"' '{print $ 2}' es wie folgt ändern: $ cat ip.run #/bin/bash Export MYVAR = \' graben TXT + short oo.myaddr.l.google .com @ ns1.google.com | awk-F '"' '{print $ 2}' \ ' Jetzt haben Sie in Ihrem Shell-Skript die Variable MYVAR verfügbar, die die Ausgabe der Befehlskette dig enthält. Sie können damit in diesem Shell-Skript machen, was Sie wollen. –

+0

Es ist mir gerade in den Sinn gekommen, dass Sie den Wert in der Zwischenablage haben möchten, weil Sie außerhalb des Skripts etwas damit machen wollen. Das Problem ist, dass wenn Sie ein Skript ausführen, es in einer Subshell ausgeführt wird, und wenn die Subshell beendet wird, sind alle in der Subshell zugewiesenen Variablen verloren. Ich habe eine Diskussion über die Verwendung von temporären Dateien gesehen, obwohl ich das nicht empfehle. –

1

In X11 haben Sie mehrere 'Zwischenablagen'.

Wenn Sie Text mit der Maus auswählen, können Sie diese Auswahl mit der mittleren Maustaste einfügen.

Strg + c ist eine weitere Zwischenablage.

See xclip (1):

-selection specify which X selection to use, 
        options are "primary" to use XA_PRIMARY (default), 
        "secondary" for XA_SECONDARY or "clipboard" for XA_CLIPBOARD 

die mittlere Taste nach dem Befehl Versuchen. Oder verwenden xclip -selection clipboard und dann Strg + V

Damit Sie tun können:

dig TXT +short o-o.myaddr.l.google.com @ns1.google.com | awk -F'"' '{ print $2}' | xclip 

Then "mniddle Taste mousclick" in Ihrem Ziel

ODER

dig TXT +short o-o.myaddr.l.google.com @ns1.google.com | awk -F'"' '{ print $2}' | xclip -selection clipboard 

Dann bekam auf Ihre Ziel und drücken Sie STRG + V, um die Zwischenablage einzufügen.

+0

Ich mag deine Idee, aber wir müssen irgendwie die Ausgabe speichern, was ist im Terminal angezeigt. Es ist also logisch, dass "cat ip.run | xclip" natürlich nicht funktioniert. Wenn wir es schaffen, dass es mit Ihrer Idee funktioniert, wäre das einfach perfekt! –

+0

Ich bin mir nicht sicher, was Sie erreichen möchten? Ich habe den Eindruck, dass Sie die Dinge ein wenig zu kompliziert machen wollen. Möchten Sie: A) Speichern Sie die Ausgabe Ihres "dig .... | awk" -Befehls (d. H. Die IP-Adresse) in eine Datei? Dann wäre das: "dig ... | awk ....> my_ip.txt" B) Habe die Ausgabe des Befehls (die IP-Adresse) in (einer) der clipboard. Dann: Siehe oben und entziehe dem Argument "xclip -selection". Probieren Sie es einfach aus ... –

Verwandte Themen