[娱乐向] 如何让你的Mac自动换壁纸

对没错我买了台Macbook,昨天调教了一番之后已经用得非常嗨皮了。

本着学以致用的原则,想起来昨天看到的高清壁纸网站,可以从上面抓图片然后设为壁纸啊哈哈我真棒!去baidu搜“命令行 换壁纸 os x”(我也不知道为啥我不先去抓图片😶)
哟第一个就是
#!/bin/sh
 #提取壁纸图片URL
 url=$(expr "$(curl http://cn.bing.com/?mkt=zh-CN |grep hprichbg)" : ".*g_img={url:'\(.*\)',id.*")
 #提取图片名称
 filename=$(expr "$url" : ".*/\(.*\)")
 #本地图片地址-当前用户下缺省图片目录localpath="/Users/$USER/Pictures/$filename"
 #下载图片至本地
 curl -o $localpath  $url
 #调用Finder应用切换桌面壁纸
 osascript -e "tell application \"Finder\" to set desktop picture to POSIX file \"$localpath\""
复制下来试试
呃,看样子是没有获取到图片
打印一下几个变量看是哪个不行
第一个就不行
url=$(expr "$(curl http://cn.bing.com/?mkt=zh-CN |grep hprichbg)" : ".*g_img={url:'\(.*\)',id.*")
是要用expr匹配字符串,看一下前半句有没有效
…这么多应该是有效的
加上后半句
问题就是在这,没有截取到图片的url
我试着找了一下expr匹配字符串的相关内容,结果非常得少…放弃了
改搜shell匹配字符串

做一下实验
yeah就是这个原理

根据审查元素得到的地址前后缀改一下脚本
果然这样就得到了正确的值
成功下载到一只小狮子.jpg
运行一下试试
好像不太对哦…
手动运行一下命令 结果成了一头大象…
我推测可能是命令不太对
继续baidu一下
是不是双引号转义的问题….为啥我没想到单双引号一起用…
还是不行

突然之间灵光一闪,可能是权限的问题

 

(其实是因为壁纸的文件夹不一致,要选在图片所在的文件夹里才能用osascript换壁纸)

再把它加到crontab里,就可以每天自动换壁纸啦!

Succeed !
PS:
听mac唱歌真的好傻XD

发表评论

电子邮件地址不会被公开。 必填项已用*标注