Unix 存储数学表达式的输出
我不熟悉SunOS unix系统。我想在shell脚本中存储正常运行时间并将其转换为分钟。 下面是我在脚本中使用的内容Unix 存储数学表达式的输出,unix,awk,sh,sunos,Unix,Awk,Sh,Sunos,我不熟悉SunOS unix系统。我想在shell脚本中存储正常运行时间并将其转换为分钟。 下面是我在脚本中使用的内容 hrs=`uptime | awk '{print \$5}' | sed 's/[:,]/ /g' | awk '{print \$1}'` mins=`uptime | awk '{print \$5}' | sed 's/[:,]/ /g' | awk '{print \$2}'` uptimesecs=$(($mins*60))) 还有我在脚本中得到的错误 有人能帮
hrs=`uptime | awk '{print \$5}' | sed 's/[:,]/ /g' | awk '{print \$1}'`
mins=`uptime | awk '{print \$5}' | sed 's/[:,]/ /g' | awk '{print \$2}'`
uptimesecs=$(($mins*60)))
还有我在脚本中得到的错误
有人能帮我解释一下语法吗?您在
awk
脚本中过度引用了$
s:
hrs=`uptime | awk '{print $5}' | sed 's/[:,]/ /g' | awk '{print $1}'`
mins=`uptime | awk '{print $5}' | sed 's/[:,]/ /g' | awk '{print $2}'`
你做的工作也比必要的多。获得一次正常运行时间:
然后使用shell本身拆分:
上的值
IFS=: read hrs min <<< "$uptime"
IFS=:read hrs min awk可以单独解析和计算。您不需要对其进行两次解析。还有代码< > X天<代码>,你想考虑。<代码>正常运行时间<代码>的值是多少?可能它与语言环境有关。$
已经在用于提供awk
脚本的单引号中进行了保护,以防止扩展;反斜杠是不必要的,可防止awk
将其用作字段扩展。
IFS=: read hrs min <<< "$uptime"