2012-01-19 3 views
1

임명 과정을 자동화하기 위하여 다른 사용자로 몇몇 명령을 실행하는 bash 원본을 쓰는 것을 시도하는 Im. 한 지점에서Bash 스크립트 종료 쉘

나는

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

스와의 gpadmin 루트로 실행되고 있고,이 실행되면 내가 gpadmin를 종료하고 루트로 돌아갈 때까지 스크립트가 중지됩니다.

스크립트를 중단하지 않고 어떻게 새로운 사용자로 전환 할 수 있습니까?

내 무지 때문에 죄송합니다. Google에 시도했지만 효과가없는 것으로 나타났습니다. 도움을 주시면 대단히 감사하겠습니다.

답변

3

명령을 실행하고 종료하려면 su에 -c 옵션을 사용해야합니다. su에 지정한 옵션을 사용하면 gpadmin의 기본 쉘이 실행되고 쉘이 종료 될 때까지 차단됩니다. 이미 작성한 코드로 판단 할 때 gpperfmon_install은 다른 문제인 대화 형 응용 프로그램입니다. 때로는 여기에있는 문서를 사용할 수 있지만 다른 경우에는 expect을 사용해야합니다.

su gpadmin -c 'gpperfmon_install --enable --password password --port 5432 << EOF 
y 
gpstar 
y 
EOF'