scp文件名中的变量无法工作?

4

我每晚都尝试从一台服务器向另一台服务器传输备份的tgz文件。备份脚本使用以下$date变量非常好,但当我将其轻微修改以用于scp时,它就会出现错误:

#!/bin/sh
date=`date +%Y-%m-%d`
rbfile=`/backups/$date_00h00.tgz`
scp $rbfile user@myserverip:

但是脚本出现了错误,无法执行:
/backups/.tgz: No such file or directory

顺便说一句,我真的应该转换到rsync以获得更好的远程备份 - 现在tgz文件已经达到3.5GB了。是否有任何推荐的教程?

1个回答

4

当使用$date_00h00时,您告诉bash使用名为date_00h00的变量,因为字母、数字和下划线字符都可以作为变量名。

将变量名括在{}中,它将会纠正这个问题:

rbfile=`/backups/${date}_00h00.tgz`

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接