如何从bash脚本复制变量文件
我运行以下脚本:如何从bash脚本复制变量文件,bash,shell,scripting,backup,Bash,Shell,Scripting,Backup,我运行以下脚本: #!/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'###' } >&
#!/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\u dump\u date
我想在其他地方使用cp文件,但不知道如何指定使用mysqldump行中使用的$file。显然,我可以只使用$file,但如果DB备份在10:49:59开始,cp将在10:50:00开始,它将没有相同的时间戳,并且无法找到文件,复制将失败
有什么想法吗?也许我误解了你的怀疑。您似乎认为,如果再次使用,
$file
将更改其值
Bash变量不会更改其值$date
和$file
在脚本中设置一次,然后它们保持相同的值,直到它们在脚本末尾消失(除非重新分配)。因此,您可以再次使用$file
,它将具有相同的值