如何将date输出存储到变量中?代码尝试后无法打印结果
如何将
date命令的输出存储到变量中 嘿,我来帮你搞定这个问题!在Shell环境(不管是终端直接输入还是写脚本)里把date的输出存到变量里其实很简单,大概率是你踩了一个新手常犯的小坑——赋值符号=的两边加了空格,这在Shell语法里是绝对不允许的。
正确的赋值方法
Shell里捕获命令输出并赋值给变量,有两种常用方式,核心都是保证=两边没有空格:
- 使用反引号(`)包裹命令
# 把date的输出存到current_date变量里 current_date=`date`
- 使用
$()包裹命令(更推荐,嵌套复杂命令时可读性更强)
current_date=$(date)
打印变量的正确方式
赋值完成后,你可以用echo命令输出变量内容,建议用双引号包裹变量,避免遇到特殊字符时出现意外:
echo "$current_date"
常见错误示例(别这么写!)
很多人一开始会写成这样,这是错误的:
current_date = `date`这种写法里,Shell会把
current_date当成一个命令来执行,把=和date的输出当成参数,自然不会得到你想要的结果,甚至会报错。
进阶:自定义日期格式
如果需要特定格式的日期(比如只取年月日),可以给date命令加格式参数:
# 获取YYYY-MM-DD格式的日期 formatted_date=$(date +"%Y-%m-%d") echo "$formatted_date"
内容的提问来源于stack exchange,提问作者vijai raghunath
相关产品推荐
相关产品推荐

