gpt4 book ai didi

linux - 在目录中迭代以在 linux 中备份 sqlite 表

转载 作者:太空宇宙 更新时间:2023-11-04 10:02:53 33 4
gpt4 key购买 nike

我编写了一个脚本来备份目录中的 sqlite 文件,但我正在向目录中添加更多数据库并希望将脚本放入 for 循环中,但我坚持按照以下示例构建脚本:

#!/bin/bash
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
DATE=`date +%Y%m%d`
for fn in $DIR/*.db; do
echo $fn ".backup '$fn_$DATE.backup'"
done

当我运行这段代码来检查它是如何工作时:

/db/buyuk_sozluk.db .backup '20190216.backup'
/db/doviz.db .backup '20190216.backup'
/db/football.db .backup '20190216.backup'
/kktc.db .backup '20190216.backup'
/db/ulkeler.db .backup '20190216.backup'

但我希望得到如下输出:

/db/ulkeler.db .backup '/db/ulkeler.db_20190216.backup'

我无法在日期之前添加文件名,我不明白为什么它对第一个 $fn 有效但对第二个无效。在我设法使其工作之后,我将使用 sqlite3 命令更改 echo。非常感谢。

最佳答案

那是因为您没有名为fn_ 的变量。可能您正在尝试使用 fn。试试看

#!/bin/bash

DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
DATE=$(date +%Y%m%d)
for fn in $DIR/*.db
do
echo "${fn} .backup '${fn}_${DATE}.backup'"
done

关于linux - 在目录中迭代以在 linux 中备份 sqlite 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54723240/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com