求助:Bash脚本中date函数生成Vim日期命名文件失败
修正Bash脚本生成日期命名文件的问题
你的脚本核心问题是日期变量的赋值错误:$'date +"%m-%d-%y"' 只是将字符串date +"%m-%d-%y"赋值给变量,并没有执行date命令获取实际日期,导致最终文件名变成date.txt。
修正后的基础脚本
#!/bin/bash # 使用$()执行date命令,获取指定格式的当前日期 CURRENTDATE=$(date +"%m-%d-%y") udisksctl mount -b /dev/sda2 # 用双引号包裹带空格的路径,避免cd命令解析错误 cd "/run/media/harrison/Backup Disk/journal" vim "${CURRENTDATE}.txt"
进阶优化(增加挂载失败判断)
可以添加挂载成功检查,避免硬盘挂载失败后执行后续命令报错:
#!/bin/bash CURRENTDATE=$(date +"%m-%d-%y") # 判断挂载命令是否执行成功 if udisksctl mount -b /dev/sda2; then # 只有cd成功后才打开vim cd "/run/media/harrison/Backup Disk/journal" && vim "${CURRENTDATE}.txt" else echo "硬盘挂载失败" exit 1 fi
内容的提问来源于stack exchange,提问作者UnoriginalName369636
相关产品推荐
相关产品推荐

