Linux - 如何将命令的输出复制到剪贴板

时间:2017-01-14 18:44:52

标签: linux terminal clipboard

我已经厌倦了上网只是为了查看我的公共IP,所以我创建了一个ip.run文件:)

这就是存储在该文件中的内容:

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

我用./ip.run命令运行它,我成功从谷歌服务器获取我的公共IP,但它还没有被复制到剪贴板..所以,我想要实现的,是复制dig命令的输出自动进入剪贴板..但是当然我到目前为止所做的并不起作用......我真的需要这方面的帮助:P非常感谢你!

2 个答案:

答案 0 :(得分:1)

在X11中,您有多个“剪贴板”。

如果使用鼠标选择文本,则可以使用鼠标中键粘贴该选择。

Ctrl + c是另一个剪贴板。

参见xclip(1):

xclip -selection clipboard

在命令后尝试中键。或者使用dig TXT +short o-o.myaddr.l.google.com @ns1.google.com | awk -F'"' '{ print $2}' | xclip 然后使用ctrl + v

你可以这样做:

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

然后在你的目标中“mniddle button mousclick”

OR

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Xml.Linq;

namespace ConsoleApplication42
{
    class Program
    {
        static void Main(string[] args)
        {
            string xmlHeader =
                "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
                "<Osoba xmlns:dfs=\"http://schemas.microsoft.com/office/infopath/2003/dataFormSolution\"" +
                    " xmlns:pc=\"http://schemas.microsoft.com/office/infopath/2007/PartnerControls\"" + 
                    " xmlns:d=\"http://schemas.microsoft.com/office/infopath/2009/WSSList/dataFields\">" +
                "</Osoba>";

            XDocument doc = XDocument.Parse(xmlHeader);

            XElement osoba = doc.Root;
            XNamespace dfsNs = osoba.GetNamespaceOfPrefix("dfs");
            XNamespace pcNs = osoba.GetNamespaceOfPrefix("pc");

            osoba.Add(new XElement(pcNs + "tehe", new object[] {
                new XElement(dfsNs + "raz", "dfdfdfdf"),
                new XElement(dfsNs + "dwa", "fgfg")
            }));
        }
    }
}

然后到达你的目标并点击CTRL + V粘贴剪贴板。

答案 1 :(得分:0)

我建议将值存储在环境变量中。以下适用于Korn shell。如果你使用bash,你将不得不修改它。你的命令:

$ 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

注意后面的引号“`附上你的命令。