考虑以下脚本来停止和启动tomcat:
#!/bin/bash
# Shutdown tomcat and delete all the logs
echo --- Shutting down Tomcat...
sh /opt/tomcat/bin/shutdown.sh -force &> /dev/null
rm -f /opt/tomcat/logs/* &> /dev/null
echo OK
# Startup tomcat
sh /opt/tomcat/bin/startup.sh &> /dev/null
echo --- Starting up Tomcat...
until [ "`curl --silent --show-error --connect-timeout 1 -I http://localhost:8080 | grep 'Coyote'`" != "" ];
do
sleep 10
done
echo OK
我希望能够做的就是在显示正在发生的消息的同一行显示OK。我怎样才能做到这一点?
答案 0 :(得分:3)
echo -n "--- Shutting down Tomcat..."
...
echo OK
-n
在回声结束时抑制换行符。请注意,如果Tomcat服务器发出任何信息,它将在三点之后开始。
正如评论中所指出的,你应该考虑:
printf "--- Shutting down Tomcat..."
...
printf "OK\n"
(虽然您可以将第二个留给echo OK
,但最好保持一致。)