我在FreeBSD11上。我的系统上有一个或多个zfs池。我想要一个脚本来检查池状态并更新数据库,我的代码是:
pool=$(/sbin/zpool status | grep pool |awk '{print $2}')
for i in $pool
do
status=$(/sbin/zpool status ${i} | egrep -i '(ONLINE|DEGRADED|FAULTED|OFFLINE|UNAVAIL|REMOVED|FAIL|DESTROYED|corrupt|cannot|unrecover)')
sqlite3 <address>/my.db <<EOS
update myTable set status = $status where name = ${i};
EOS
echo $status
done
此代码有错误,并且不会更新我的数据库。你能帮我搞清楚这个错误吗?
答案 0 :(得分:0)
我在您的代码中看到两个问题:
将其重写为:
sqlite3 <address>/my.db <<EOS
update myTable set status = '$status' where name = '$i';
EOS
另见: