與等待執行兩個命令我想寫一個腳本,執行以下命令:在linux
./virtuoso-t -f -c /home/var/lib/virtuoso/db/virtuoso.ini
這給下面的輸出 - 後「服務器在線1111」出現在屏幕上我要發佈另一個命令./isql 1111 dba dba。我不想在屏幕上出現「Server online at 1111」之前發出命令「./isql 1111 dba dba」 - 命令./isql 1111 dba dba應該根據需要在不同的會話(屏幕等)中發佈。 /演奏家-T保持在線,同時我執行我的命令 - 是有一些辦法讓我可以實現同樣的
Mon Aug 03 2015
17:08:49 { Loading plugin 1: Type `plain', file `wikiv' in `/home/jyotil/VirtuosoHugh/virtuosoInstalled/lib/virtuoso/hosting'
17:08:49 FAILED plugin 1: Unable to locate file }
17:08:49 { Loading plugin 2: Type `plain', file `mediawiki' in `/home/jyotil/VirtuosoHugh/virtuosoInstalled/lib/virtuoso/hosting'
17:08:49 FAILED plugin 2: Unable to locate file }
17:08:49 { Loading plugin 3: Type `plain', file `creolewiki' in `/home/jyotil/VirtuosoHugh/virtuosoInstalled/lib/virtuoso/hosting'
17:08:49 FAILED plugin 3: Unable to locate file }
17:08:49 OpenLink Virtuoso Universal Server
17:08:49 Version 07.20.3213-pthreads for Linux as of Apr 10 2015
17:08:49 uses parts of OpenSSL, PCRE, Html Tidy
17:08:59 Database version 3126
17:09:00 SQL Optimizer enabled (max 1000 layouts)
17:09:01 Compiler unit is timed at 0.000687 msec
17:09:38 Roll forward started
17:09:38 Roll forward complete
17:09:52 Checkpoint started
17:09:54 Checkpoint finished, log reused
17:09:57 HTTP/WebDAV server online at 8890
17:09:57 Server online at 1111 (pid 4972)
對於這樣我在(myScript.sh)寫了下面的shell腳本:
./virtuoso-t -f -c /home/var/lib/virtuoso/db/virtuoso.ini
./isql 1111 dba dba
但是看起來./isql 1111 dba dba在屏幕上出現「Server online at 1111」之前被執行。有沒有在Python中的某種方式(通過調用python或C++的命令或使用linux命令,我可以達到所需的行爲?
命令「./virtuoso-t -f -c/home/var/lib/virtuoso/db/virtuoso.ini「不會終止,它仍然保持在線狀態,輸出爲」服務器在線1111「,而在另一個終端上,我使用它執行查詢./isql 1111 dba dba
或更好,'command1 && command2',這樣'command2'將不執行,如果command1'失敗。 – fedorqui
@fedorqui,好點,但據我所知,'&&'考慮了第一個命令的返回值。並且其中一些在成功的情況下也返回0。這需要適當的分析。對於一般的「等待,直到第一次完成」,我認爲';'的技巧 –
謝謝,但我的問題是第一個命令不終止..它仍然與輸出「服務器在線1111」,我執行「。/isql 1111 dba dba「在另一個終端中。 –