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

如何在Linux/mac下通过bash/zsh实现剪贴板复制后自动执行脚本?

监听剪贴板变化并触发脚本(Linux/macOS)

bash 和 zsh 本身没有内置的系统级剪贴板监听钩子——它们的钩子(比如 precmd、preexec)只针对shell内部的命令执行场景,没法捕捉系统剪贴板的变化。要实现复制后自动触发脚本,得靠外部工具配合shell脚本完成。

macOS 实现方案

方案1:循环轮询(简单易实现)

利用系统自带的 pbpaste 命令读取剪贴板内容,写个后台脚本对比每次的内容变化,有更新就触发处理逻辑:

#!/bin/zsh
LAST_CONTENT=""
while true; do
    CURRENT_CONTENT=$(pbpaste)
    if [[ "$CURRENT_CONTENT" != "$LAST_CONTENT" ]]; then
        LAST_CONTENT="$CURRENT_CONTENT"
        # 替换成你的处理脚本路径,& 让脚本后台运行
        /path/to/your/handler.sh "$CURRENT_CONTENT" &
    fi
    sleep 0.5  # 可调整轮询间隔,越小响应越快,CPU占用越高
done

给脚本加执行权限:chmod +x clipboard-monitor.zsh,然后后台启动:./clipboard-monitor.zsh &。如果要开机自动运行,可把脚本加到「用户与群组」的登录项里。

方案2:用fswatch监听剪贴板配置文件(更高效)

macOS的剪贴板状态存在 ~/Library/Preferences/com.apple.pasteboard.plist,用 fswatch 监听这个文件的变化,避免轮询:

#!/bin/zsh
# 先安装fswatch:brew install fswatch
fswatch -o ~/Library/Preferences/com.apple.pasteboard.plist | while read -r; do
    CURRENT_CONTENT=$(pbpaste)
    /path/to/your/handler.sh "$CURRENT_CONTENT" &
done

Linux 实现方案

Linux的剪贴板工具因桌面环境而异,通用方案用 xclip,高效方案可搭配 clipnotify。

方案1:循环轮询(通用兼容)

先安装 xclip:

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

脚本如下:

#!/bin/bash
LAST_CONTENT=""
while true; do
    CURRENT_CONTENT=$(xclip -o -selection clipboard)
    if [[ "$CURRENT_CONTENT" != "$LAST_CONTENT" ]]; then
        LAST_CONTENT="$CURRENT_CONTENT"
        /path/to/your/handler.sh "$CURRENT_CONTENT" &
    fi
    sleep 0.5
done

后台启动脚本即可,同样可加到开机启动项(比如 ~/.bashrc/~/.zshrc 末尾,或者用systemd服务)。

方案2:用clipnotify监听(低资源占用)

clipnotify 是轻量级的X11剪贴板变化通知工具,比轮询更高效。先编译安装(以Debian为例):

sudo apt install libx11-dev libxfixes-dev
git clone https://github.com/cdown/clipnotify.git
cd clipnotify
make
sudo cp clipnotify /usr/local/bin/

然后写监听脚本:

#!/bin/bash
while clipnotify; do
    CURRENT_CONTENT=$(xclip -o -selection clipboard)
    /path/to/your/handler.sh "$CURRENT_CONTENT" &
done

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 00:27:20