2017-02-23 6 views
0

bashスクリプトから私はpostgresqlデータベース+ユーザーを作成しようとしています。"現在のディレクトリを取得中にエラーが発生しました" sudoの下でpsqlコマンドを実行中

#!/usr/bin/env bash 
echo ' Create DBs' 
sudo -u postgres createdb -E 'utf-8' -l en_US.utf8 -T template0 testdb 
echo ' Create User' 
sudo -u postgres psql -c "create role bert with login password 'pass';" 
echo ' alter permissions' 
sudo -u postgres psql -c "alter database testdb owner to bert;" 

unfortuantely - 私は次のエラーを取得:

==> default: Create DBs 
==> default: could not identify current directory: No such file or directory 
==> default: Create User 
==> default: shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory 
==> default: CREATE ROLE 
==> default: alter permissions 
==> default: shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory 

1 couleがwhat'sが間違っているとどのようにGETCWDエラーを回避するには説明している場合、私は非常に感謝するでしょう それはこのようになります。

ありがとうございました!

答えて

0

postgresユーザが現在の作業ディレクトリにアクセスできない場所(/root - またはおそらく以前に削除された一時ディレクトリなど)からスクリプトが実行されています。

これらのメッセージは、$PWDまたはそれに類する変数やコマンドに依存するスクリプトを呼び出すのでない限り、実質的に無害ですが、避けたい場合は、ディレクトリを特定の場所に変更してからpostgresにアクセスしてください。たとえば、次の行を入力します。

cd/

...シボンのすぐ下のスクリプトの上部にあります。

+0

死んだ簡単、感謝! –

関連する問題