2011-05-26 83 views
0

我一直在尝试在UNIX脚本中的shell脚本中自动执行此过程。我是shell脚本的新手。 我一直无法弄清楚如何检测它的启动时间。另外,如何 创建一个新终端并检查新终端的domain.log。我将不胜感激,如果有人 可以帮助我。Shell脚本启动,退出并运行其他脚本一旦完成

cd $/home/oracle/12/bin 
./lsnrctl start 

登录sqlplus使用用户名sys as sysdba和密码:oracle3211 并且一旦启动运行数据库的启动命令startup

exit

--now启动DBCONSOLE

cd $/home/oracle/12/bin 
./emctl start dbconsole 

- 打开一个新终端并执行此

$/home/oracle/startWeblogic.sh 

--wait在日志文件domain.log关键字来确认服务器已经启动 --IF启动服务器继续下面的一个新的终端

$/home/oracle/startManagedWeblogic.sh 

--AFTER此访问以下网址

https://178:198:29:28:1167/em (username=system1, password=oracle123) 
https://178:198:29:28:1176/em (username=system2, password=oracle132) 
+0

如果您正在寻找一种自动执行过程并发送按键(如“退出”)的方法。寻找名为'expect'的命令行工具。有几个很好的例子,如果你GOOGLE了。 – 2011-05-26 17:30:21

+0

您是否尝试在S.O.上在这里搜索?我知道我看到了很多关于自动访问Oracle的消息。祝你好运。 – shellter 2011-05-26 19:58:18

+0

@哈尔:那应该是个答案。 – 2011-05-27 03:05:28

回答

0

听起来像是你还需要了解GNU screen命令。您可能已经安装了它。试试screen -R -D

如果它给你一个在屏幕顶部的shell提示符然后它的工作。现在,如果您断开ssh会话或关闭终端窗口(单击X),则下次登录并运行完全相同的屏幕命令时,将重新连接到相同的正在运行的终端会话。

这允许您运行脚本等,在断开连接时不会停止。当你重新连接时,你可以看到他们当前的输出。

此外,您可以有许多终端会话。 Ctrl-A c创建另一个。 Ctrl-A [space]Ctrl-A [backspace]在列表中的会话之间轮换。 Ctrl-A ?为您提供可以使用的所有其他Ctrl-A命令。例如,一个会话可能是tail logfile,而另一个会话正在运行等待输入的程序。