不能将减法字符作为字符串

问题描述 投票:0回答:1

我正在尝试编写一个 bash 脚本来使用一些变量创建文件名,我应该在某些地方添加“-”字符以获得正确的文件路径。但是,当我使用以下命令时,它会变成一个空格而不是 - 字符:

FILEDIR=${root_path}${year}/${month}/${day}/${filename_zero}"_"${year}"-"${month}"-"${day}"-"${filename_one} 
public/2024/03/18/105610_2024 03 18 12:33:42.mp4

我需要的结果:

public/2024/03/18/105610_2024-03-18-12:33:42.mp4

我尝试过很多其他的东西,比如单引号、非引号,但它不起作用......

bash escaping quoting
1个回答
0
投票

您使用的引号不正确。不要用引号将每个单独的符号括起来,而是将整个值括在引号中。

#!/bin/bash

root_path="example"
year="2024"
month="May"
day="9"
filename_zero="filename_0"
filename_one="filename_1"

FILEDIR="${root_path}${year}/${month}/${day}/${filename_zero}_${year}-${month}-${day}-${filename_one}"

echo "${FILEDIR}"

打印以下内容

example2024/May/9/filename_0_2024-May-9-filename_1
© www.soinside.com 2019 - 2024. All rights reserved.