我制作了一个bash脚本(用于将数据插入mysql数据库),该脚本从文件中获取表的名称,然后在while循环中填充每个表。
该脚本在我的原始项目中运行良好,但是当我从存储库中克隆该项目时,该脚本将无法填充数据。
我注意到,如果我放:
echo -e "./folder/"$DB_TABLE".sql"
在无法运行的脚本中的if
之前,它显示如下内容:
.sqllder/table_name
何时显示:
./folder/table_name.sql
似乎该连接无法正常工作。但是我不知道这种奇怪行为的原因是什么。
如果有人可以帮助我,我将不胜感激!
克隆项目后,我必须在2个配置文件中设置一些值,但是即使我将完全相同的值添加到原始项目中,脚本仍然会失败。
我尝试过在每个位置添加和删除双引号,但是行为没有改变。
input="./file.config";
populate_database() {
echo -e "Populating with seed data...";
while IFS= read -r DB_TABLE
do
if [ -e "./folder/"$DB_TABLE".sql" ]; then
mysql --user=$DB_USERNAME --password=$DB_PASSWORD --host=$DB_HOST $DB_NAME --default-character-set=utf8 < "./folder/"$DB_TABLE".sql" > ${MYSQL_ERROR_LOG} 2>&1;
else
echosucc "There is not data to populate the table: ${DB_TABLE}";
fi
done < "$input"
}