簡體   English   中英

bash腳本中的Postgresql命令執行

[英]Postgresql command execution in bash script

我已經寫了一個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

請告訴我我做錯了什么。

使用以下命令找到您的psql二進制文件

which psql

你會得到像

/usr/bin/psql

現在,您可以在腳本中使用完整路徑或擴展$ PATH

只是一個簡短的說明! 不要在腳本中保存密碼。 如果您需要某些用戶的(psql)密碼,則應將其保存在.pgpass中

host:db:user:password

並給予適當的許可(即0600)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM