linux - 在 Bash 中使用下划线 "_"无法正确打印文件名

标签 linux bash

<分区>

我正在用这个

DATE_FOLDER=$(date +"%b-%d-%a-%G")
FILENAME="HOME_$date1.tar.gz"

echo $BACKUP_DESTINATION/$DATE_FOLDER/$FOLDERNAME_$FILENAME

我的输出是

home/May-04-Wed-2011/HOME_May-04-0718PM-2011.tar.gz

但是如果我使用 - 而不是下划线 _

echo $BACKUP_DESTINATION/$DATE_FOLDER/$FOLDERNAME-$FILENAME

那么我的输出是正确的

/home/May-04-Wed-2011/vmware-HOME_May-04-0717PM-2011.tar.gz

这是为什么?

最佳答案

_ 是变量名的有效字符,$FOLDERNAME_ 不存在。

echo "$BACKUP_DESTINATION/$DATE_FOLDER/${FOLDERNAME}_$FILENAME"

关于linux - 在 Bash 中使用下划线 "_"无法正确打印文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5898601/

相关文章:

c - 从 sys/socket.h 了解 msghdr 结构

linux - Linux USB 批量传输内核驱动程序和硬件环回的性能非常差(~0.4MB/s)

linux - 如何计算在 Red Hat Enterprise Linux (x86-64) 上执行的指令数?

linux - 我如何使用 GNU-utils 来过滤这样的文本?

bash - 在 bash 中解析配置文件

linux - 解析分数报告并提取分数总和和平均值

Perl 一行提取多行模式

php - elfinder 图像缩略图在 Windows 和 Linux 服务器中不显示

linux - 如何在/usr 目录中找到最长的头文件(.h)

windows - Git Hook 未在 Windows 上运行