Macos OSX:自动将截图上传到imageBin并将URL放入剪贴板
我想通过IRC发送我的OSX屏幕的一部分,以最少的干扰 很多应用已经做到了这一点:CloudApp、Dropr、DropBox、Jing等等 问题是它们都没有返回到实际图像的链接。他们返回一个包含图像的页面链接,主要是为了获得广告。这对IRC没有好处;大多数IRC客户机在看到图像的URL时都足够聪明,可以显示图像,但他们不太聪明,无法从这样的框架页面中拉出图像 我想写一些这样的东西 Shift+Cmd+F3允许我用鼠标选择一个矩形,并将图像存放在桌面上。可以将其更改为其他文件夹: 我想让这个图像自动上传到互联网上,并在我的剪贴板上放置一个URL链接 我解决了一半的问题:下面的bash脚本将上载一个图像并将链接放入剪贴板:Macos OSX:自动将截图上传到imageBin并将URL放入剪贴板,macos,bash,file-upload,automation,screenshot,Macos,Bash,File Upload,Automation,Screenshot,我想通过IRC发送我的OSX屏幕的一部分,以最少的干扰 很多应用已经做到了这一点:CloudApp、Dropr、DropBox、Jing等等 问题是它们都没有返回到实际图像的链接。他们返回一个包含图像的页面链接,主要是为了获得广告。这对IRC没有好处;大多数IRC客户机在看到图像的URL时都足够聪明,可以显示图像,但他们不太聪明,无法从这样的框架页面中拉出图像 我想写一些这样的东西 Shift+Cmd+F3允许我用鼠标选择一个矩形,并将图像存放在桌面上。可以将其更改为其他文件夹: 我想让这个图像
#! /bin/bash
# Imagebin Loader
# π 27.1.2014
#
# Upload image to imagebin.org, put url to image in clipboard, make noise
filename="$1"
# http://stackoverflow.com/questions/4651437/how-to-set-a-bash-variable-equal-to-the-output-from-a-command
url_out=$(
curl -s \
--form "nickname=$(hostname)" \
--form "image=@$filename;type=$(file --brief -L --mime-type "$filename")" \
--form "disclaimer_agree=Y" \
--form "mode=add" \
--form "Submit=Submit" \
http://imagebin.org/index.php \
-w '%{redirect_url}\n'\
)
# e.g. http://imagebin.org/288917
echo "$url_out"
# http://mywiki.wooledge.org/BashFAQ/073
number=${url_out##*/}
printf -v new_url "http://imagebin.org/index.php?mode=image&id=%s" $number
# e.g. http://imagebin.org/index.php?mode=image&id=288917
echo "$new_url"
#http://osxdaily.com/2007/03/05/manipulating-the-clipboard-from-the-command-line/
printf "$new_url" | pbcopy
say -v Trinoids "Fooo"
现在,我如何完成谜题的另一部分:每当一个新的屏幕截图出现在桌面上,用它自动执行这个脚本
链接:在文件夹中添加新项目时,使用Automator文件夹操作启动脚本。您可能希望将屏幕截图重定向到桌面以外的其他位置,否则将上载添加到桌面的所有项目。例如,将此plist另存为
~/Library/LaunchAgents/example.plist
:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>example</string>
<key>Program</key>
<string>/path/to/script</string>
<key>WatchPaths</key>
<array>
<string>~/Desktop/</string>
</array>
</dict>
</plist>
(您还需要找出如何避免对相同的图像多次运行脚本。)这正是最终要做的:更改屏幕截图位置以及如何将参数传递给程序?因为我有
Program~/./imageBinUploader.sh
,我的imageBinUploader.sh
等待文件名作为参数。
for f; do
[[ $f = Screenshot\ *.jpg ]] || continue
echo "$f"
done