簡體   English   中英

我可以在執行Shell命令的常規腳本中使用&>嗎?

[英]Can I use & > in a groovy script executing shell commands?

我可以在執行Shell命令的常規腳本中使用&>嗎?

/someDir/myScripts/stop.sh $NAME & > /someDir/something/${NAME}/logs/stop.log

只會

'/someDir/myScripts/stop.sh $NAME & > /someDir/something/${NAME}/logs/stop.log'.execute()

工作還是我需要做一些復雜的事情?

cmd = "/someDir/myScripts/stop.sh $NAME & > /someDir/something/${NAME}/logs/stop.log"
['sh', '-c', cmd].execute();

可能比.execute()更好,但是我只是想知道這是否可能

如果我不能實現這一點,我相信我可以在該腳本中使用該命令調用另一個.sh,但是我想知道是否可以在.groovy文件中進行操作


編輯

名稱是在我的groovy程序中定義的(也想知道我是否需要路徑),該程序只是嘗試使用給定的stop.sh腳本來停止某事(也停止該程序的日志)

是的,您必須調用Shell來使諸如此類的任務后台運行。 一個簡單的常規解決方案將是使用消耗過程consumeProcessOutputStream運行該過程:

new File("/someDir/something/${NAME}/logs/stop.log").newOutputStream { log ->
    "/someDir/myScripts/stop.sh $NAME".execute().consumeProcessOutputStream(log)
}

暫無
暫無

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

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