如何在Bash中复制图片到剪贴板?
在Mac上通过命令行将图片复制到剪贴板的正确方法
嘿,我来帮你搞定这个问题!你遇到的pbcopy 1.png卡住的情况其实是对pbcopy的用法理解有误,下面给你拆解原因和正确的操作方式:
为什么直接用pbcopy 1.png会卡住?
pbcopy的设计是从**标准输入(stdin)**读取内容,它并不接受文件名作为直接参数。当你输入pbcopy 1.png时,命令会误以为你要把"1.png"这个字符串当作文本内容,但实际上它会一直等待你从stdin输入数据,所以才会卡住,直到你用^C终止进程。
系统自带的正确操作方法(无需额外安装工具)
方法一:结合cat和pbcopy指定图片格式
针对PNG图片,你可以通过管道将图片的二进制内容传给pbcopy,同时明确告诉剪贴板这是PNG格式的内容:
cat 1.png | pbcopy -Prefer public.png
如果是JPG/JPEG格式的图片,只需要把public.png换成public.jpeg就可以了。
方法二:用AppleScript直接写入剪贴板
这种方法更灵活,能适配不同格式的图片,只需调整对应的格式关键词:
对于PNG图片:
osascript -e 'set the clipboard to (read POSIX file "'"$(pwd)/1.png"'" as PNG picture)'
如果是JPG图片,把命令里的PNG picture替换成JPEG picture即可。这个命令会直接读取你当前目录下的1.png,并将其写入剪贴板,之后就能在其他应用里直接粘贴了。
可选:用第三方工具简化操作
如果你经常需要在命令行复制图片,可以安装pngpaste工具(它同时支持PNG和JPG格式):
brew install pngpaste
安装完成后,复制图片就变得非常简单:
pngpaste 1.png
它会自动识别图片格式并处理,省去每次指定格式的麻烦。
内容的提问来源于stack exchange,提问作者Wizard
相关产品推荐
相关产品推荐

