将变量设置为 bsh 脚本中命令的输出

戴夫

使用 UTC 时间运行系统我希望能够用本地时间写出日志文件,以便稍后阅读它们并确定外部因素对问题的影响需要更少的脑力劳动。

在 UTC 上运行时获取本地日期(例如悉尼,澳大利亚)的命令是

TZ=Australia/Sydney date

这将返回

2018 年 9 月 15 日星期六 17:19:28 AEST

我的脚本示例如下。现在,请忽略这样一个事实,它不是它似乎试图完成的工作的最佳脚本。我的问题是记录在日志文件中的时间。这个脚本在每个循环中所做的是将相同的日期/时间写入日志文件 - 脚本启动时的本地时间。

#!/bin/sh
localdatetime=$(TZ=Australia/Sydney date)

while
  do
    nc -zw5 192.168.0.199     # IP of router
    if [[ $? -eq 0 ]]; then
      status="up"
    else
      status="down"
    fi
  echo "$localdatetime The router is now $status" >> /home/pi/userX/routerStatus.log
  sleep 10
done

我想要的是将当前本地时间存储到每个循环的日志文件中,以便我通过读取日志文件知道路由器何时启动或关闭。有没有办法使用变量来做到这一点?

在此先感谢您提供任何好的建议。

戴夫

我最后所做的是显而易见的解决方案:在尝试将其写入日志文件之前立即更新本地时间变量。

例如:

#!/bin/sh

while
  do
    nc -zw5 192.168.0.199     # IP of router
    if [[ $? -eq 0 ]]; then
      status="up"
    else
      status="down"
    fi
  localdatetime=$(TZ=Australia/Sydney date)
  echo "$localdatetime The router is now $status" >> /home/pi/userX/routerStatus.log
  sleep 10
done

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将命令的输出设置为变量

来自分类Dev

将命令输出设置为变量

来自分类Dev

将命令的输出设置为变量

来自分类Dev

为什么bsh会在完成前将bash写入提示,而zsh为什么要等待此命令完成?

来自分类Dev

将grive命令输出存储到bash脚本中的变量

来自分类Dev

将时间命令的结果输出到bash脚本中的变量

来自分类Dev

将bash命令输出设置为azure yml变量

来自分类Dev

将文件名设置为变量的命令脚本

来自分类Dev

将vim变量设置为python输出

来自分类Dev

将变量设置为命令值

来自分类Dev

如何将某些命令的多个输出值中的env变量设置为特定值?

来自分类Dev

将变量设置为mysql中的行数

来自分类Dev

将IP设置为cmd中的变量

来自分类Dev

将Makefile变量设置为规则中的命令结果

来自分类Dev

将命令执行结果设置为Makefile中的变量

来自分类Dev

如何在bash脚本的变量中存储命令“哪个”的输出?

来自分类Dev

bash脚本中命令的“源”输出作为多个变量

来自分类Dev

将命令输出存储到Shell脚本中的数组

来自分类Dev

将环境变量设置为Windows命令提示符下的命令输出

来自分类Dev

如何将sqlcmd输出设置为批处理变量?

来自分类Dev

如何将sh的输出设置为Groovy变量?

来自分类Dev

如何将exec的输出设置为变量python?

来自分类Dev

批处理文件将wmi输出设置为变量

来自分类Dev

如何将heredoc输出设置为局部变量

来自分类Dev

将UILabel文本设置为变量不能正确输出

来自分类Dev

将远程标准输出设置为本地KORNSHELL变量

来自分类Dev

将多个变量设置为 awk 输出的不同字段

来自分类Dev

将布局渲染的输出设置为变量(条纹)

来自分类Dev

将行设置为变量,然后执行脚本

Related 相关文章

热门标签

归档