如何正确在Linux Shell脚本中定义一个时间变量?

我有一个Shell脚本,从开始执行到结束是需要花费一定的时间的。我现在想记录这个具体的时间段。如下脚本:#!/bin/bashLOG_TIME=`date+%H:%M:%... 我有一个Shell脚本,从开始执行到结束是需要花费一定的时间的。我现在想记录这个具体的时间段。如下脚本:
#!/bin/bash
LOG_TIME=`date +%H:%M:%S`
echo "脚本开始时间:"$LOG_TIME
/bin/sleep 10
echo "脚本结束时间:"$LOG_TIME
exit 1
我设置中间停顿了10秒钟。
问:执行该脚本时输出到控制台的脚本开始时间和结束时间为什么是一样的?
展开
 我来答
百度网友faadf46
高粉答主

2020-05-05 · 说的都是干货,快来关注
知道答主
回答量:4556
采纳率:0%
帮助的人:69万
展开全部

1、创建脚本 test.sh,并入截图内容。

2、执行test.sh脚本。

3、使用用户变量,创建 test.sh 脚本,填入截图内容。

4、执行脚本输出结果。

5、命令替换将命令赋值自定义变量,可以通过反引号字符实现 。

我似来打酱油滴
推荐于2017-11-26 · TA获得超过313个赞
知道小有建树答主
回答量:305
采纳率:100%
帮助的人:317万
展开全部
后面echo之前把下面这行再执行一遍不就行了:
LOG_TIME=`date +%H:%M:%S`
这只是一个变量而已,你不给他赋值他怎么会自己变化呢?
更多追问追答
追问
定义一个变量,当然就是为了方便一处定义下面多处调用啊,如果下面再执行一遍那么定义这个变量就似乎没有意义了。
难道LOG_TIME第一次执行之后就变成了一个常量,而下面调用的时候就只获取这个常量,而不是获取当前的`date +%H:%M:%S`?
追答
大哥,你连变量和常量的区别都没有搞清楚。。
看一下你这个脚本的逻辑:
#!/bin/bash
LOG_TIME=`date +%H:%M:%S` # 取出当前的时间值,赋值给变量LOG_TIME
echo "脚本开始时间:"$LOG_TIME # 打印一下该变量的值
/bin/sleep 10 # 暂停10秒
echo "脚本结束时间:"$LOG_TIME # 再打印一下该变量的值
exit 1

你只是将一个变量的值打印了两遍,中间又没有修改变量的值,两次打印的结果为什么要不一样呢?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式