如何从 bash 脚本复制变量文件

How can I copy variable file from bash script

我运行以下脚本:

#!/bin/bash
{
date=$( date '+%Y-%m-%d_%H-%M-%S' )
file="mysql_dump_$date"

echo '###Start DB Backup '$date'###'
        mysqldump -h localhost -u 'USERNAME' -pPASSWD 'DBNAME' > /backup/$file
echo '###DB Backuo Finished '$date'###'
} >> /backup/backup.log

正如您在 mysqldump 行中看到的那样,$file 将被命名为 mysql_dump_date

我想在其他地方复制文件,但不知道如何指定使用 mysqldump 行中使用的 $file。显然,我可以只使用 $file,但如果数据库备份从 10:49:59 开始,而 cp 将从 10:50:00 开始,它不会有相同的时间戳,也无法找到文件并且复制会失败。

有什么想法吗?

也许我误解了你的疑问。您似乎认为 $file 如果第二次使用它会改变它的值。

Bash 变量不会改变它们的值。 $date$file 在您的脚本中设置一次,然后它们保持相同的值,直到它们在脚本结束时消失(除非它们被重新分配)。所以你可以再次使用 $file,它会有相同的值。