簡體   English   中英

通過Java運行Shell腳本

[英]Running Shell scripts through java

因此,我有一個Java類,該類接受各個命令,並將它們通過Runtime和Process對象放入外殼中。 我的問題是我可以運行以下命令:

$ls /users/me/documents

它會工作,但是

$cd /users/me/documents
$ls

仍然列出根。 顯然,Process和Runtime對象無法跟蹤其位置。 有什么方法可以捕獲終端對象,還是必須手動跟蹤當前目錄?

每個shell腳本將重新開始。 您將需要將所有命令串在一起:

cd /usr/me/documents && ls

cd /usr/me/documents; ls

如果CD成功,第一個變體將僅運行ls(因此,如果目錄不正確,ls將不會運行)。 第二個變種將始終運行ls(因此,如果目錄不正確,ls將在默認目錄中運行)。

您正在為每個命令生成一個單獨的進程。 將命令放入腳本並在一個過程中執行

使用Runtime.exec的每個人都需要閱讀此內容

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM