Bash变量无法获取当前时间,脚本执行报错‘CurrentTime: command not found’
你的Bash脚本运行失败的原因
这是脚本里的两个语法问题导致的:
变量赋值的空格问题:Bash里给变量赋值时,
=的两边绝对不能加空格。你写的CurrentTime = "date +%F-%H-%M-%S"会被Shell误认为是要执行名为CurrentTime的命令,后面的=和字符串是它的参数,所以才会抛出CurrentTime: command not found的错误。命令未被执行:你想获取
date命令的输出,但直接把命令字符串赋值给变量,只会让变量存下字符串文本,不会执行命令。要拿到命令的运行结果,必须用命令替换语法——用$()把命令包起来(或者用反引号`,但$()可读性更好)。
修正后的正确脚本
#!/bin/bash CurrentTime=$(date +%F-%H-%M-%S) echo "Archive logs at ${CurrentTime}..."
执行这个修正后的脚本,就能正常输出带当前时间的日志归档提示了。
内容的提问来源于stack exchange,提问作者alancc
相关产品推荐
相关产品推荐

