1

インストールプロセスを自動化するために、異なるユーザーとしていくつかのコマンドを実行するbashスクリプトを作成しようとしています。

ある時点で私は持っています

su gpadmin
gpperfmon_install --enable --password password --port 5432
y  
gpstar
y 

su gpadmin は root として実行されます。一度実行すると、gpadmin を終了して root として戻るまでスクリプトが停止します。

スクリプトを停止せずに新しいユーザーに切り替えるにはどうすればよいでしょうか?

無知で申し訳ありませんが、グーグルを試みましたが、うまくいくものは何も見つかりませんでした。どんな助けでも大歓迎です。

4

1 に答える 1

3

コマンドを実行してから終了するには、su に -c オプションを使用する必要があります。su に指定したオプションを使用すると、gpadmin のデフォルト シェルが実行され、シェルが終了するまでブロックされます。既に持っているコードから判断すると、gpperfmon_install は対話型アプリケーションのように見えますが、これは別の問題です。ヒアドキュメントを使用できる場合もありますが、使用する必要がある場合もありますexpect

su gpadmin -c 'gpperfmon_install --enable --password password --port 5432 << EOF
y
gpstar
y
EOF'
于 2012-01-19T14:25:39.487 に答える