我编写了一个shell脚本来执行postgresql命令。问题是,当我执行此脚本时,它显示错误:line 17: psql: command not found
我的脚本如下:
export PGPASSWORD=${PGPASSWORD-my_password}
echo "enter host"
read host
echo "enter database name"
read dbname
echo "enter username"
read username
psql -h $host $dbname $username <<EOF
SELECT * FROM test ; >>res.txt
EOF
( cat res.txt) | sed 's/;/<tab>/g' > $file.csv
rm res.txt
unset PGPASSWORD
请告诉我我做错了什么。
答案 0 :(得分:0)
使用
找到psql二进制文件which psql
你会得到像
这样的输出/usr/bin/psql
现在您可以在脚本中使用完整路径或扩展$ PATH
简短的说明!不要在脚本中保存密码。如果您需要某些用户的(psql)密码,则应将其保存在.pgpass
中host:db:user:password
并给予适当的许可(即0600)