【问题标题】:how to append directory name and date as backup file suffix?如何将目录名称和日期附加为备份文件后缀?
【发布时间】:2018-08-21 13:31:09
【问题描述】:

我需要编写一个脚本来备份文件,并且我希望将时间戳和基本文件名作为名称的一部分,以便于区分。

#!/bin/bash
filename=$(basename $(pwd))
echo $filename

output_dir="/home/backup/backup_$filename_$(date +%Y-%m-%d_%Hh%Mm%Ssec)/"
echo $output_dir

得到以下输出:-

bash-4.2$ ./backup_1.sh
test
/home/backup/backup_2018-08-21_10h44m10sec/
bash-4.2$

在 output_dir 名称文件名“test”中不包括仅作为后缀添加的时间戳。预期输出为“/home/backup/backup_test_2018-08-21_10h44m10sec/

非常感谢任何建议。

【问题讨论】:

    标签: bash shell


    【解决方案1】:

    你的变量需要大括号

    ${filename}
    

    用这个替换你的代码

    output_dir="/home/backup/backup_${filename}_$(date +%Y-%m-%d_%Hh%Mm%Ssec)/"
    

    使用当前代码,bash 正在尝试查找不存在的 ${filename_}。

    更新代码:

    #!/bin/bash
    filename=$(basename $(pwd))
    echo $filename
    
    output_dir="/home/backup/backup_${filename}_$(date +%Y-%m-%d_%Hh%Mm%Ssec)/"
    echo $output_dir
    

    输出

    test
    /home/backup/backup_test_2018-08-21_11h02m55sec/
    

    【讨论】:

    • Suraj...如果这对您有用...您能否接受它作为您查询的答案,这有助于我获取一些积分..
    猜你喜欢
    • 1970-01-01
    • 2019-11-10
    • 1970-01-01
    • 2021-01-21
    • 2018-05-13
    • 1970-01-01
    • 2020-01-25
    • 2018-12-21
    • 2017-01-16
    相关资源
    最近更新 更多