我有一个脚本:
#!/bin/bash
date +%T &
Hours=`date +"%H"` &
Minutes=`date +"%M"` &
Seconds=`date +"%S"`
echo "$Hours:$Minutes:$Seconds"
目标是echo date
两次,然后取出小时,分钟,秒并计算这两个命令之间经过的秒数。所以我的解决方案是将小时,分钟,秒写入变量,然后使用这些变量。
问题:echo
只回显秒,这意味着我对&
的解释是错误的。
如何修复&
问题?我需要这些命令同时运行,所以我可以检查。
date +%s
显然不会对某些输入工作,例如:
Wed Mar 4 10:34:59 2015
Wed Mar 4 10:35:08 2015
会给出00:00:01
而不是00:00:09
或
Wed Mar 4 10:34:59 2015
Wed Mar 4 17:43:08 2015
将提供12:13:14
而不是07:08:09
的结果。这是真的吗?或者我可以使用date +%s
然后减少这两个输出吗?
答案 0 :(得分:2)
您无需同时运行命令。只运行一个命令:
ID Mac
1 77777
2 xxxxx
但它可以更简单:只需使用<?php
include 'conn.php';
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$query = mysqli_query($conn, "insert into result_tbale(mac)
select table2.mac from table2
inner join table1 on table1.email = table1.email");
?>
格式来获取自纪元以来的秒数。您将获得两个可以安全减去的数字。
read hours minutes seconds < <( date '+%H %M %S' )
最简单的方法是使用shell变量$ SECONDS。
每次引用此参数时,都会返回自返回shell调用以来的秒数。如果为SECONDS分配了值,则返回值 后续引用是自赋值以来的秒数 分配的价值。如果没有设置SECONDS,即使它失去了特殊属性 它随后被重置。
答案 1 :(得分:-1)
主要问题是,在这种情况下,命令date
将在树时间执行以获取值..
所以你不需要多次执行逗号日期
#!/bin/bash
#date +%T &
function myTime(){
now=`date +"%H:%M:%S" &`
}
myTime
s1=`echo $now | cut -d":" -f2`
myTime
s2=`echo $now | cut -d":" -f2`
echo "s1[$s1] - s2[$s2]"
然后,您可以应用规则来验证已过去的时间
此致
克劳迪奥