예를 들어:
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