たとえば、
curl -s 'https://api.github.com/users/lambda' |\
jq -r '.name'
戻り値"名前json属性。属性が空または存在しない場合、コマンドは次を返します。無効または '':
curl -s 'https://api.github.com/users/lambda' |\
jq -r '.blabla'
python main.py
上記のコマンドがNULLでないかNULL以外の値を返すように、コマンドを実行する必要があります。良い:
curl -s 'https://api.github.com/users/lambda' |\
jq -r '.name' | ..... python main.py
cronを使用してこれを設定し、外部json(フラグなど)を解析してローカルスクリプトを実行する予定です。
答え1
コマンドが成功したため、出力は何でも変数に保存する必要があり、変数が空でない場合はスクリプトに渡す必要があります。値がない既知のフィールド(例:).gravatar_id
に対してデータを要求する場合にのみnullを取得し、null
不明なフィールド(例.blabla
:)を渡すとnullを取得するようです。両方を受け入れるには:
var=$(curl -s 'https://api.github.com/users/lambda' | jq -r '.name')
[ "$var" != "null" -a -n "$var" ] && printf '%s\n' "$var" | python main.py