首页 > 解决方案 > Shell - 循环中的回声返回奇怪

问题描述

我是 shell 新手,我试图获取数据库名称并循环它来做某事

#!/bin/sh

DBLIST=`"C:/Program Files/PostgreSQL/11/bin/psql" -h localhost -p 5433 -U postgres -q -t -c "SELECT datname FROM pg_database WHERE datistemplate = false AND datname IN('beta_irian','beta_kupang','beta_makassar')"`

for d in $DBLIST
do
    echo "DB NAME = $d HALO X"
done

但我被困在这里,我得到的结果不是我想要的。

这是结果

我想要的结果是

DB NAME = beta_kupang HALO X
DB NAME = beta_irian HALO X
DB NAME = beta_makassar HALO X

IDK 为什么它只在最后一个循环中工作

标签: windowspostgresqlshellsh

解决方案


推荐阅读