Просто небольшая проблема. Я пишу простой скрипт bash, который запускает и останавливает Jetty. Когда я его выполняю, скрипт сразу же возвращает курсор назад на приглашение bash. Однако, когда Jetty запускается и записывает свой вывод инициализации обратно в stdout, он оставляет курсор на отдельной строке (без запроса), пока я не введу команду или не нажму Enter. Плохо, я знаю, но я думаю, что есть простой способ избежать этого, который я пропускаю.
Вот сценарий:
#!/bin/bash
cd /opt/jetty/jetty-distribution-7.4.5.v20110725/
if [ "$1" = "-stop" ]
then
java -DSTOP.PORT=8079 -DSTOP.KEY=something -jar start.jar --stop
else
java -DSTOP.PORT=8079 -DSTOP.KEY=something -jar start.jar &
fi
Вот вывод:
[user@machine ~]# jetty
[user@machine ~]# 2011-08-11 14:47:34.818:INFO::jetty-7.4.5.v20110725
2011-08-11 14:47:34.866:INFO::Deployment monitor /opt/jetty/jetty-distribution-7.4.5.v20110725/webapps at interval 1
2011-08-11 14:47:34.878:INFO::Deployment monitor /opt/jetty/jetty-distribution-7.4.5.v20110725/contexts at interval 1
2011-08-11 14:47:34.883:INFO::Deployable added: /opt/jetty/jetty-distribution-7.4.5.v20110725/contexts/javadoc.xml
2011-08-11 14:47:34.934:INFO::started o.e.j.s.h.ContextHandler{/javadoc,file:/opt/jetty/jetty-distribution-7.4.5.v20110725/javadoc}
2011-08-11 14:47:34.935:INFO::Deployable added: /opt/jetty/jetty-distribution-7.4.5.v20110725/contexts/test.xml
2011-08-11 14:47:35.011:INFO::Extract jar:file:/opt/jetty/jetty-distribution-7.4.5.v20110725/webapps/test.war!/ to /tmp/jetty-0.0.0.0-8080-test.war-_-any-/webapp
2011-08-11 14:47:35.645:INFO::started o.e.j.w.WebAppContext{/,file:/tmp/jetty-0.0.0.0-8080-test.war-_-any-/webapp/},/opt/jetty/jetty-distribution-7.4.5.v20110725/webapps/test.war
2011-08-11 14:47:36.127:INFO:org.eclipse.jetty.servlets.TransparentProxy:TransparentProxy @ /javadoc to http://download.eclipse.org/jetty/stable-7/apidocs
2011-08-11 14:47:36.199:INFO::Started SelectChannelConnector@0.0.0.0:8080 STARTING
И курсор заканчивается на пустой новой строке чуть ниже. Есть ли способ предотвратить это? Я довольно новичок в написании сценариев bash. Должен ли я что-то делать, а я нет?