当前位置: 首页 > 面试题库 >

Bash中的文件名无法正确打印,并带有下划线“ _”

赵刚豪
2023-03-14
问题内容

我正在用这个

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"


 类似资料:
  • 问题内容: 我正在尝试编写脚本,将大照片裁剪并调整为高清壁纸。 但是该脚本似乎在文件名中带有空格的问题(例如Tumble Weed.jpg)。我怎样才能解决这个问题? 问题答案: 首先,您不需要。通过在backtics中使用,您可以使bash隐式地将字符串解析为一个列表,该列表按空格分隔。而是让bash生成列表并将其分离,而无需进行此类怪癖: 另外,您需要将所有用法都括在引号中,以使bash整体上

  • 我正试图用reactJS下载一个xlsx文件,但当我在下载后试图打开我的文件时,我收到了这条消息: “Excel无法打开文件‘file.xlsx’,因为文件格式或文件扩展名无效。请验证文件是否已损坏,以及文件扩展名是否与文件格式匹配。” 这是前端代码: 为什么我得到这个错误?请谁来帮帮我,我被困在这个3周 [编辑1] 我尝试下载的文件是在后端构建的,基本上我获取数据库上的值并使用Apache po

  • 我正在做一个项目,我有一个文件,程序可以访问该文件以获取不同年份的不同犯罪信息。然后它需要根据类型添加犯罪并将其放入文件中。我有第一部分,它确实访问了文件并按类型添加了犯罪金额,但当我打开创建的文件时,它没有正确打印出来,我似乎找不到问题所在。 这是打印在文件上的内容: ísr爪哇。util。HashMapÚÁÃ`F loadFactorI thresholdxp?@全爪哇暴力犯罪。lang.In

  • 问题 你的程序获取了一个目录中的文件名列表,但是当它试着去打印文件名的时候程序崩溃, 出现了 UnicodeEncodeError 异常和一条奇怪的消息—— surrogates not allowed 。 解决方案 当打印未知的文件名时,使用下面的方法可以避免这样的错误: def bad_filename(filename): return repr(filename)[1:-1] t

  • 问题内容: 文件创建成功,但是我无法让PrintWriter将任何内容打印到文本文件。码: 问题答案: 您必须刷新和/或关闭文件才能将数据写入磁盘。 添加您的代码:

  • 我想正确打印unicode(比如希腊字符),但我有问题。例如: 问题是是否有任何解决方案可以正确打印所有卡哈拉特。我认为对于希腊字符,UTF-16是可以的。