.sh スクリプトエラーの問題

.sh スクリプトエラーの問題

postgres DBに接続し、psqlコマンドを実行するために使用するshスクリプトがあります。スクリプトは次のとおりです。

/opt/postgres/9.2/bin/psql pcwh  -U  pcwhuser << EOF 
 \i /opt/emms/emsam/tmp/tmp1438861364196.psql 
EOF

このshファイルを実行しようとすると、「ファイルが見つかりません」というエラーが発生します。コマンドラインでこのステートメントを手動で実行すると機能しますが、スクリプトでこれを実行するにはステートメントも必要です。

答え1

ユーザーはデータベースユーザーでなければなりません。 pgsqlデータベースにアクセスできる資格情報を持つ人。
使用確認su - <dbuser>

\i /opt/emms/emsamその後、データベースへのアクセス権を持つユーザーだけがスクリプトを実行できるので、スクリプトを実行してください。

関連情報