You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Bash中将剪贴板内容复制到变量中?

当然有办法实现剪贴板和Bash变量之间的内容传递啦!不同操作系统/桌面环境对应的工具略有不同,我给你分情况整理了实用的方法:

Linux/X11 桌面环境(GNOME、KDE等)

首先得安装常用的剪贴板工具,比如xclip或xsel:

  • Debian/Ubuntu系:sudo apt install xclip xsel
  • Fedora/RHEL系:sudo dnf install xclip xsel

剪贴板内容 → Bash变量

用xclip的话:

clipboard_content=$(xclip -selection clipboard -o)

解释:-selection clipboard指定读取系统全局剪贴板,-o表示输出剪贴板内容到标准输出,再通过命令替换存入变量。

用xsel的话更简洁:

clipboard_content=$(xsel -b -o)

-b代表操作剪贴板(clipboard),-o是输出内容。

Bash变量内容 → 剪贴板

用xclip:

echo "$clipboard_content" | xclip -selection clipboard

用xsel:

echo "$clipboard_content" | xsel -b

注意:一定要用双引号包裹变量,这样能保留内容里的换行、空格和特殊字符,避免格式错乱!

macOS 环境

macOS自带pbcopy和pbpaste工具,不用额外安装,直接用:

剪贴板内容 → Bash变量

clipboard_content=$(pbpaste)

Bash变量内容 → 剪贴板

echo "$clipboard_content" | pbcopy
Windows Subsystem for Linux (WSL)

WSL可以借助Windows原生的命令来操作剪贴板:

剪贴板内容 → Bash变量

clipboard_content=$(powershell.exe -Command "Get-Clipboard")

Bash变量内容 → 剪贴板

echo "$clipboard_content" | clip.exe

额外提醒

  • 如果是纯命令行的Linux服务器(没有图形界面/X11服务),这些剪贴板工具都没法工作,因为剪贴板依赖桌面环境的图形服务。
  • 处理包含特殊字符(比如$、\)的内容时,双引号的使用尤其重要,能避免Bash对内容进行不必要的解析。

内容的提问来源于stack exchange,提问作者user276072

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 08:31:29