You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Shell脚本字符串拼接问题:日期无法正常嵌入文件名

问题原因及解决方法

两个核心错误:

  1. DATE变量赋值方式错误
    你当前的DATE= date +"%d.%m.%Y"写法会直接执行date命令并打印结果,而DATE变量实际是空值。正确的命令替换写法需要用$()把命令包裹起来:
DATE=$(date +"%d.%m.%Y")
  1. 变量拼接时的边界歧义
    echo "$FILE_PREFIX$DATE_$FILE_EXTENSION"里的$DATE_会被Bash解析为名为DATE_的变量(你未定义过,所以为空),必须用${DATE}明确变量的边界,避免和后面的下划线混淆。

修正后的完整脚本

#!/bin/bash

DATE=$(date +"%d.%m.%Y")
FILE_PREFIX="V_Articles_"
FILE_EXTENSION=".json"

# 正确的拼接方式
echo "$FILE_PREFIX${DATE}$FILE_EXTENSION"

预期输出

V_Articles_01.10.2023.json

内容的提问来源于stack exchange,提问作者user1107888

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 18:53:09