使用cURL和sed根据bool的状态输出图像

时间:2013-08-31 20:10:40

标签: json api curl sed geektool

我正在制作一个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的状态来设置图像。

输入应为TRUE(有未读消息)或false(没有未读消息)。输出应该是本地目录中的图像,根据true / false进行更改。

两个问题:

  1. 如何使用sed返回TRUE / FALSE?
  2. 如何获取TRUE / FALSE并设置图像(本地)?
  3. 谢谢!

1 个答案:

答案 0 :(得分:0)

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

curl ... | grep -q TRUE && do_Something || do_another_thing