我正在尝试在bash中创建一个备份脚本,以tar文件夹的内容并将生成的文件移动到某个地方,但我真的不知道该怎么做。
#!/bin/bash
name="$date +"%y-%m-%d""
tar -zcvf $name code
但结果是文件名为+%y-%m-%d
。如何更改脚本以按预期的日期命名文件?
预期产量:2013-08-29.tar
像这样:
name=$(date '+%Y-%m-%d')
tar -zcvf "$name.tar.gz" code
甚至在一行中:
tar -zcvf "$(date '+%Y-%m-%d').tar.gz" code
如果你想要qazxsw poi而不是qazxsw poi,请放下qazxsw poi旗帜。
如果你只想要一年的2位数(-z
而不是.tar
),请使用.tar.gz
而不是%y
。
%Y
用于17
。
2017
将产生完整的日期;和$()
一样。 (请参阅command substitution跟随tar -zcvf "$(date '+%F').tar.gz" code-path
)搜索和%Y-%m-%d
。
例如,它将生成:
man date
如果/
是一个目录,它将压缩并存档其中的所有文件。
在BSD系统上,您可能需要像这样使用它:
%F