Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 将分钟添加到从命令输出提取的时间_Bash_Shell_Awk - Fatal编程技术网

Bash 将分钟添加到从命令输出提取的时间

Bash 将分钟添加到从命令输出提取的时间,bash,shell,awk,Bash,Shell,Awk,我正在制作一个脚本来检查我家服务器的运行状况 smartctl -t short /dev/sda | awk '/Please wait/ {print $3}' 此命令显示SmartCTL完成测试所需的时间。 但为了确定,我想添加一个命令sleep,该命令的输出加上1分钟,以确保它真正完成 有人能帮我吗?您可以捕获命令管道的输出,并将其用作睡眠参数: 似乎就是你要找的 睡眠默认为arg(秒)。 随函附上$smartctl。。。额外的美元。。。如果子shell由于某种原因未输出整数,则计算结

我正在制作一个脚本来检查我家服务器的运行状况

smartctl -t short /dev/sda | awk '/Please wait/ {print $3}'
此命令显示SmartCTL完成测试所需的时间。 但为了确定,我想添加一个命令sleep,该命令的输出加上1分钟,以确保它真正完成


有人能帮我吗?

您可以捕获命令管道的输出,并将其用作睡眠参数:

似乎就是你要找的

睡眠默认为arg(秒)。 随函附上$smartctl。。。额外的美元。。。如果子shell由于某种原因未输出整数,则计算结果为零,并防止最外层的计算因语法错误而失败。
请显示输出是什么样子以及您希望它是什么样子。嗯,我没有想到在sleep命令中添加分钟,我正在尝试将它添加到SmartCTL命令输出的变量中!非常感谢,那会帮我的!!谢谢,我没有想到在sleep命令中添加额外的分钟,我会尝试一下!谢谢,我没有想到在sleep命令中添加额外的分钟,我会尝试一下!
sleep_time=$(smartctl -t short /dev/sda | awk '/Please wait/ {print $3}')
# add logic to check if sleep_time is a number etc.
if [[ $sleep_time ]]; then
  sleep $((sleep_time + 60)) # assuming smartctl prints the wait value in seconds
else
  # there was no sleep time extracted from smartctl - add appropriate logic to handle that situation
fi
sleep $((60+60*$(($(smartctl -t short /dev/sda|awk '/Please wait/ {print $3}')))))
wait=`(smartctl -t short /dev/sda | awk '/Please wait/ {print $3}'` # minutes
sleep $(($wait + 1))m