使用 'watch' 的 Bash 脚本失败。为什么?

用户1541307

我需要从终端重复(每 3600 秒)运行以下命令:

if whois abcxyz.com | grep -q 'string'; then
    echo 'Message line 1'
    echo 'Message line 2'
fi

我尝试使用手表,如下所示:

watch -n 3600 if whois abcxyz.com | grep -q 'string'; then
    echo 'Message line 1'
    echo 'Message line 2'
fi

但我收到错误消息。

你能帮我让它工作吗?

谢谢

钢刀

由于默认watch [options] command执行commandusing sh -c,您可以直接使用它运行 shell 代码片段,前提是:

  1. 你得到了正确的引用

  1. 您的代码与 sh 兼容,即不使用任何 bash/zsh/csh-"isms"

所以例如

$ watch -n 36 'if whois abcxyz.com | grep -q "string"; then
  echo "Message line 1" | ts
  echo "Message line 2" | ts
fi'

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用`watch`使用bash特定的语法?

为什么要在执行脚本中使用bash?

使用Python调用Bash脚本时为什么返回256

为什么我的bash脚本在|之后不使用sudo?

为什么要避免在 bash 脚本中使用“&&”?

基于bash脚本的init.d失败,为什么?

为什么将awk放入bash脚本时会失败

为什么gulp.watch或fs.watch在Windows的Ubuntu的Bash上不起作用?

使用here-document从Bash脚本创建脚本;为什么我的变量被替换?

Bash:如何将别名命令与 watch 结合使用

Shell脚本使用bash运行,但不使用sh运行。为什么以及如何解决?

为什么bash脚本使用,如果和grep工作每隔一个电话吗?

?4使用此Bash脚本添加到文件名,为什么?

为什么可以使用BASH_SOURCE获取执行脚本的当前目录?

为什么不能在bash脚本中使用〜符号告诉我答案

Bash:为什么在解析命令行参数的脚本中使用eval和shift?

为什么在此bash脚本中使用参数移位会导致无限循环?

调用此Bash脚本时,为什么文件参数必须使用引号?

为什么zsh使用GNU parallel在bash脚本中为我扩展glob?

为什么我不能使用 execl() 来运行 bash 脚本?

为什么添加其他参数时我的BASH脚本失败?

为什么此shell脚本在bash中失败,但是命令在SSH中起作用?

在bash脚本末尾使用&表示什么?

这个bash脚本做什么?[尝试失败]

为什么我的 bash 脚本在使用 bash -x script.sh 启动时输出“+ '[' 0 -le 1 ']'”?

在Mac OS恢复模式下,为什么mv在bash 3.2中的此(bash)shell脚本中失败?

为什么在bash脚本vs bash命令行中运行相同的sed regex(在grep之后)失败?

有没有办法使用npm脚本运行tsc -watch && nodemon --watch?

使用mysql命令且变量失败的Bash脚本