0

我编写了一个 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

请告诉我我做错了什么。

4

1 回答 1

0

找到您的 psql 二进制文件

which psql

你会得到像

/usr/bin/psql

现在您可以在脚本中使用完整路径或扩展您的 $PATH

只是一个简短的说明!不要将密码保存在脚本中。如果您需要某些用户的 (psql) 密码,则应将其保存在 .pgpass

host:db:user:password

并给予适当的许可(即 0600)

于 2013-07-16T07:26:26.940 回答