Leute, ich habe ein Problem mit einem Bash- Skript, das einen bestimmten Befehl als anderer Benutzer ausführt .
Der Hintergrund: Unter einer Linux-Box (CentOS) ist das Skript recht einfach und startet die Hudson-CI- Anwendung.
declare -r HOME=/home/hudson
declare -r RUNAS=hudson
declare -r HOME=/home/hudson
declare -r LOG=hudson.log
declare -r PID=hudson.pid
declare -r BINARY=hudson.war
su - ${RUNAS} -c "nohup java -jar ${HOME}/${BINARY} >> ${HOME}/${LOG} 2>&1; echo $! > ${HOME}/${PID}" &
Dies ist die gekürzte Version des Skripts. Wenn das Skript ausgeführt wird, wird es mit "Standard in muss ein tty sein" beendet . Irgendwelche Ideen, was ich falsch machen könnte? Ich habe Dr. Google ausprobiert und alle Ratschläge haben bisher nicht geholfen.
Andere Referenz: Mandriva Linux 'su' Bug