Linux TAR命令文件扩展名路径扩展
好的,这应该很容易,但我尝试使用大括号和方括号来实现这一点,但自从我编写UNIX shell脚本以来,时间太长了 我想使用TAR对几个目录中的选定文件进行快速备份,只有那些具有PHP、HTML、CSS或BMP扩展名的文件。谁有办法Linux TAR命令文件扩展名路径扩展,linux,bash,path,tar,file-extension,Linux,Bash,Path,Tar,File Extension,好的,这应该很容易,但我尝试使用大括号和方括号来实现这一点,但自从我编写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
#!/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
试试花括号
tar -cvf gppbasic.$(date +%Y%m%d.%k%M).tar $x/*.{php,html,css,bmp}
令人惊讶的是,尽管我确实尝试过(见问题中提到的“支架”),但它还是成功了。唯一的区别似乎是您更改了日期/时间代码的生成方式,但我不知道这会影响它。我认为
反勾选
和$()
没有任何区别,我尝试将命令分配给targetpp
,然后运行$targetpp
,这两种方法都不起作用<代码>*。{php,html,css,bmp}被视为文字字符串,而不是展开。但是如果我直接运行tar
命令,两种方法都有效。这是有道理的。谢谢