尝试创建.txt文件的备份,该备份将重命名txt文件的后缀

时间:2019-04-25 16:09:10

标签: bash shell ubuntu

我也在尝试创建txt文件的备份,例如thisfileisabackup.txt.bak_(当前日期,我还没有弄清楚如何打印)如何将当前日期和时间打印到txt文件的新后缀中?

我试图更改cp $ myfile $ place -S .bak_; date和cp $ myfile $ place -S .bak_ $ newextension之间的后缀,在其中我已将newextension =; date放入。该日期将在终端中打印出来,而不是与.bak

一起另存为新后缀。

当前的shell脚本:

#!/bin/bash
echo "File to backup"
read myfile

#checks if $myfile exists
if [ -f "$myfile" ] ; then
echo "Where do you want the backup stored"
read place
newextension=;date

#stores the backup to x place (place is defined by read place)
cp $myfile $place -S .bak_$newextension

else echo "$myfile does not exist"

我希望输出thisisabackup.txt.bak_tor之类的内容2019年4月25日17:55:12 CEST

当前输出仅为thisisabackup.txt.bak _

2 个答案:

答案 0 :(得分:1)

使用command substitution,并且不要忘记引用变量。

newextension="$(date)"
cp -- "$myfile" "$place" -S ".bak_$newextension"

或者只是:

cp -- "$myfile" "$place" -S ".bak_$(date)"

答案 1 :(得分:0)

您没有正确使用命令替换。正确的格式应该是这样的:

newextension=$(date)