我是Shell脚本的新手...我想每5秒执行一次命令,然后将输出写入当前为json格式的文件,然后使用jq从json读取特定键并将其打印到控制台
我开始使用watch
,但是回显watch -n 5 command > myFile.json
似乎没有创建文件。还有其他办法吗?
有人可以帮我吗?
答案 0 :(得分:0)
您可以在睡眠中使用循环,例如:
while true; do command > myFile.json; sleep 5; done
请注意,如果您想附加命令输出到您的json文件,请使用>>代替>
根据条件中断循环:
while :
do
command > json_file
[[ $(jq_command json_file) != "expected_text" ]] || break
sleep 5
done