【发布时间】:2019-12-06 23:02:39
【问题描述】:
我正在尝试(每秒)查看 github 中文件的提交历史记录,并查看提交历史记录中的日期对象是否更改。如果提交日期在观看后 30 秒内发生变化,我想停止观看并回显“遇到变化”,否则我想停止观看并回显“我已经观看了 30 秒,但没有遇到任何变化。我看腻了!” .
使用的变量
- $myPGREADMECommitHist 包含我尝试访问的 URL
- $mytoken 包含授予对 URL 访问权限的令牌。
以下 watch 命令有效,但必须手动终止 (ctrl + c)
watch -n 1 "curl -H \"Authorization: token $mytoken\" \"$myPGREADMECommitHist\" > challenge1CommitObj.json && jq '.[0].commit.author.date' challenge1CommitObj.json > challenge1Output。 txt && cat challenge1Output.txt"
我尝试在我的 watch 命令之后使用 sudo kill 命令,但它不起作用 sudo kill -9 -INT $(pidof watch)
我也尝试了 timeout 命令和 watch 命令,但不起作用 超时 10 秒观看...
我已经尝试过使用 sleep 命令执行操作,但我仍然想看看 watch 命令是否可以在特定时间后被终止,或者一旦在特定时间内遇到更改就被终止。
【问题讨论】:
-
听起来你最好使用
for i in {1..30}; do ... sleep 1; done而不是watch。