我是bash脚本的新手,试图在字符串数组输出中去掉引号。
DATABASES=(demo_db1 demo_db2);
for DB_NAME in “${DATABASES[@]}”;
do
echo ${DB_NAME}
done
输出:
“demo_db1
demo_db2
demo_db3”
如何忽略输出中的引号?
我将在我的DB连接字符串中使用它,所以在下面的例子中它给我带来了很多麻烦。
for DB_NAME in “${DATABASES[@]}”;
do
connection_url="postgresql://{{username}}:{{password}}@localhost:5432/${DB_NAME}/"
echo $connection_url
done
输出:
postgresql://{{username}}:{{password}}@localhost:5432/“demo_db1/
postgresql://{{username}}:{{password}}@localhost:5432/demo_db2/
postgresql://{{username}}:{{password}}@localhost:5432/demo_db3”/
提前感谢所有的帮助!
问题是您在for循环中在”${DATABASES[@]}”
中使用的”
。您需要使用"
。试试下面的脚本:
DATABASES=(demo_db1 demo_db2);
for DB_NAME in "${DATABASES[@]}";
do
echo ${DB_NAME}
done
输出:
demo_db1
demo_db2
使用sed:
删除'"'字符echo $(echo ${DB_NAME} | sed 's/["“”]//g') # all flavour of quotes