如何用shuf命令从文件获取并执行ISO时间戳命令得到真实时间
解决方法
你当前的命令只是把shuf选出的date命令文本存到了变量里,并没有实际执行这个命令。要得到真实的时间戳,需要让shell执行选中的命令,有两种常用方式:
方法1:使用eval
TIMESTAMP=$(eval $(shuf -n 1 dateTimestamp.txt)) echo $TIMESTAMP
方法2:使用bash -c
TIMESTAMP=$(bash -c "$(shuf -n 1 dateTimestamp.txt)") echo $TIMESTAMP
原理说明
shuf -n 1 dateTimestamp.txt会随机选出一行date命令的文本eval或者bash -c会把这个文本当作可执行的shell命令去运行,最终返回date命令生成的实际ISO时间戳,再把结果赋值给TIMESTAMP变量
内容的提问来源于stack exchange,提问作者TheNoobCoder
相关产品推荐
相关产品推荐

