0

コマンドを使用して、Reddit (API から me.json を使用) から未読メッセージのステータスを取得する geeklet (Geektool の OS X デスクトップにあるスクリプト) を作成しています。

echo curl -X GET -u 'username:password' http://www.reddit.com/api/me.json | sed -e "s/.*\"has_mail\":BOOL の TRUE/FALSE を取得する"

次に、bool の状態を取得して画像を設定します。

入力は、TRUE (未読メッセージがある) または false (未読メッセージがない) のいずれかである必要があります。出力は、true/false に応じて変化する、ローカル ディレクトリ内の画像である必要があります。

2 つの質問:

  1. どのように sed で TRUE/FALSE を返しますか?
  2. どのように TRUE/FALSE を取得し、イメージを (ローカルで) 設定しますか?

ありがとう!

4

1 に答える 1

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
于 2013-08-31T20:44:23.223 に答える