我正在尝试使用psql
打开到数据库的连接。
连接字符串如下所示:
psql -A -t -c "sql query" postgresql://$1@$2/$3
我作为第一个参数传递的地方
$1 = login:password
$2 = localhost:5432
$3 = dbname
当登录名和密码非常类似于123之类的标准时,它可以正常工作。
但是,当我尝试使用123412@15!12$
之类的密码进行连接时,由于密码错误而失败。
如何逃避财产?
答案 0 :(得分:1)
我会使用更安全的变量放置方式:
psql -A -t -c "sql query" "postgresql://${1}@${2}/${3}"
另外,参数$ 1,$ 2,$ 3应传递为:
script.sh 'login:password' 'localhost:5432' 'dbname'