【问题标题】:Copy shell script output to clipboard将 shell 脚本输出复制到剪贴板
【发布时间】:2010-10-26 12:37:44
【问题描述】:

是否有任何简单的方法可以从 shell 脚本的输出中实现复制到剪贴板选项?

【问题讨论】:

  • 你的意思是便携吗?
  • 你试过用谷歌搜索“bash剪贴板”吗?那里似乎有很多有用的信息。
  • 哪个剪贴板? X11剪贴板? Windows剪贴板? Mac剪贴板? KDE 剪贴板?
  • 您是否仅限于终端?如果没有多少终端允许突出显示输出,然后使用鼠标中键粘贴。对于更长的输出,我不确定

标签: bash shell


【解决方案1】:

这可能取决于您使用的环境。至少使用 Gnome(我没有尝试过其他方法,但它可能会起作用),您可以按如下方式管道输出:

echo 123 | xclip
echo 123 | xclip -sel clip

第一个进入鼠标剪贴板,第二个进入“普通”剪贴板。

【讨论】:

  • 当然请记住,xclip 并不总是默认分发和安装的,因此您可能不想使用它,除非您确定您的客户拥有它。未来的读者可能想检查一下 xclip 的源代码是否可以在脚本环境中使用,或者找到一个可以执行此操作的脚本,即使它是在 perl 中,或者在大多数发行版上默认安装了至少 perl 的东西。
  • ALSO:值得注意的是“xclip -sel clip”的第一个字母仅与-sel一起使用,这意味着您可以只使用“xclip -sel c”当然选项本身是非-歧义上下文,因此您可以使用:“xclip -se c”
  • 轻微变化:通过将printf 替换为echo 进行复制而不使用尾随换行符。即printf 123 | xclip -sel clip
【解决方案2】:

您可以使用 Mac OS 原生的pbcopy

试试这个命令:

echo "variable" | pbcopy

它会将字符串“变量”复制到剪贴板中。

【讨论】:

  • 工作,非常感谢
【解决方案3】:

如果您在 Windows 10 LXXS Ubuntu bash 上执行此操作,则可以执行以下命令,也适用于 WSL2。

从 WSL 复制到 Windows 剪贴板

echo "What so ever..." | clip.exe

将 Windows 剪贴板传送到 WSL 的另一种方法可以在 PowerShell 的帮助下完成。它有一个名为Get-Clipboard 的命令和一个不错的短别名gcb

从 Windows 剪贴板粘贴到 WSL 中

powershell.exe -Command gcb | cat

如果你经常使用这个,你可以在 bash 中创建一个别名

alias wcopy="powershell.exe -Command gcb"

然后快速用作

wcopy | cat

【讨论】:

  • 有效!谢谢我也用 sudo 版本添加了这个命令
  • WSL2 当时不存在,但也适用于 WSL2。
  • 我该怎么做呢? IE。将 Windows 剪贴板的内容通过管道传输到 WSL/WSL2 中的脚本中?
【解决方案4】:

您可以使用xclip 命令。

 echo hello | xclip

获取xclip的说明为here

【讨论】:

    【解决方案5】:

    echo 也会在末尾打印一个换行符。万一其他人遇到同样的问题,我使用了 Mauro 的方法,但使用了 printf 命令,所以它只是字符串,没有额外的行:

    对于 Mac:

    printf "$YOUR_VAR" | pbcopy
    

    【讨论】:

      【解决方案6】:

      使用 WSL2sudo 你可以这样使用:

      echo "What so ever..." | /mnt/c/Windows/System32/clip.exe
      

      【讨论】:

        猜你喜欢
        • 2012-06-19
        • 1970-01-01
        • 2018-11-24
        • 2015-08-09
        • 1970-01-01
        • 2012-11-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多