我正在尝试在 Ubuntu bash 中的循环中设置变量,该变量正在从数据库中获取记录集,但该变量设置为之前的值。这是一个代码:
#!/bin/bash
PREV_FILE_PATH="127"
while true
do
echo "$PREV_FILE_PATH"
mysql -h$DB_HOST -u $DB_USER -p$DB_PASS $DB_NAME --skip-column-names --default-character-set=UTF8 -e "here is a query" | while read "here is getting variables from recordset";
do
PREV_FILE_PATH="777"
done
done
这段代码每次都会打印:
127 127 127
但是当我替换这个块时-:
mysql -h$DB_HOST -u $DB_USER -p$DB_PASS $DB_NAME --skip-column-names --default-character-set=UTF8 -e "here is a query" | while read "here is getting variables from recordset";
while true
在循环结束时使用 just and break 它可以正常工作并打印:
127 777 777 777
脚本创建一些子shell 并在该子shell 中运行该MySQL 查询。那么我应该怎么做才能让脚本改变那个变量呢?