我正在制作一个geeklet(位于OS X桌面上的脚本,来自Geektool),它使用命令从Reddit(使用API中的me.json)获取未读消息的状态
echo
curl -X GET -u 'username:password' http://www.reddit.com/api/me.json | sed -e "s/.*"has_mail":
有些人会对BOOL进行正确/错误设置"
然后取bool的状态来设置图像。
输入应为TRUE(有未读消息)或false(没有未读消息。输出应该是本地目录中的图像,根据true/false进行更改。
两个问题:
- 如何使用sed返回TRUE/FALSE
- 如何获取TRUE/FALSE并设置图像(本地)
谢谢!
Sed不是更好的工具,试着这样做:
#!/bin/bash
out=$(curl -X GET -u 'username:password' http://www.reddit.com/api/me.json | ...)
if [[ $out == *TRUE* ]]; then
echo 'Do something'
exit 0
elif [[ $out == *FALSE* ]]; then
echo 'Do another thing'
exit 1
else
echo >&2 "Command fails"
fi
或使用grep:
curl ... | grep -q TRUE && do_Something || do_another_thing