假设第一次出现值的变量替换

假设第一次出现值的变量替换

我在脚本中使用变量替换,但是,即使在不同时间调用,该变量也会采用生成的第一个值。例如:

#!/bin/sh
vardate=$(date)

echo hour is "$vardate"
sleep 5
echo hour is "$vardate"

我总是得到相同的输出。那么此时如何才能产生第二次替换呢?

谢谢你!

答案1

您将使用@jasonwryan 的解决方案

echo hour is $(date)

或者你可以把它变成一个函数:

function dt {
vardate=$(date)
echo "hour is $vardate"
}

dt
sleep 5
dt

一行测试:

function dt { var=$(date);echo $var;};dt;sleep 5;dt

相关内容