【问题标题】:TAR command file extension path expansionTAR 命令文件扩展路径扩展
【发布时间】:2013-12-26 02:16:06
【问题描述】:

好的,这应该很容易,但我尝试了大括号和方括号来让它工作,但距离我编写 UNIX shell 脚本已经太久了。

我想使用 TAR 对几个目录中的选定文件进行快速备份,只有那些具有 PHP、HTML、CSS 或 BMP 扩展名的文件。谁有解决办法?

#!/bin/bash

cd ~ ; x="public_html/gpp"

targpp="tar -cvf gppbasic.`date +%Y%m%d.%k%M`.tar $x/*.[php|html|css|bmp]"

$targpp  ;  ls -l gppbasic*.tar

【问题讨论】:

    标签: linux bash path tar file-extension


    【解决方案1】:

    试试大括号

    tar -cvf gppbasic.$(date +%Y%m%d.%k%M).tar $x/*.{php,html,css,bmp}
    

    【讨论】:

    • 令人惊讶的是,即使我已经尝试过(参见有问题的“大括号”)并且它失败了,它仍然有效。唯一的区别似乎是您更改了日期/时间代码的生成方式,但我不知道为什么会影响它。
    • 我认为backtick$() 没有任何区别,我尝试将命令分配给targpp,然后运行$targpp,但都没有奏效。 *.{php,html,css,bmp} 被视为文字字符串,而不是被扩展。但如果我直接运行tar 命令,两种方式都有效。
    • 这是有道理的。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-02
    • 2012-05-21
    • 2021-07-17
    • 1970-01-01
    • 2020-09-27
    • 2016-09-07
    • 2015-12-19
    相关资源
    最近更新 更多