init 스크립트에서 다른 사용자 (이 경우에는 tomcat의 catalina.sh)와 다른 스크립트를 호출하고 추가 매개 변수를 전달하고 싶습니다.init 스크립트에 매개 변수가있는 bash su
은 이런 식으로 뭔가를 시도 :
if [ $USER == "root" ]
then
CMD="/bin/su ${TOMCAT_USER} -c"
fi
$CMD $CATALINA_HOME/bin/catalina.sh stop 20 -force
그러나,이 '정지'와 다른 매개 변수는 개별 파일로서가 아니라 스크립트에 매개 변수로 취급로 실패하고 그 돈 분명 파일 ' 존재하지 않습니다. "$ (printf())"를 사용하여 필요한 명령을 구성하여 해결하려고 노력했지만 작동중인 솔루션을 찾을 수 없었습니다. 스크립트에 추가 매개 변수를 전달할 수있는 아이디어는 있습니까?
편집 :
경우에 더 많은 컨텍스트를 제공하는 현재의 사용자가 이미 필요한 사용자입니다.
if [ $USER == "root" ]
then
CMD="/bin/su ${TOMCAT_USER} -c '"
PST="'"
elif [ $USER == "${TOMCAT_USER}" ]
then
CMD=''
PST=''
else
exit 1
fi
bash -c "$CMD$CATALINA_HOME/bin/catalina.sh stop 20 -force$PST"
우리는 catalina.sh – suspectus
@suspectus [catalina.sh (https://svn.apache.org/repos/asf/tomcat/trunk/bin/catalina.sh) –