簡體   English   中英

如何從控制台將無限 stream (bash) 轉換為 java args?

[英]How to make infinite stream (bash) into java args from console?

考慮以下 java 程序:

class PrintName{
    public static void main(String[] args){
        System.out.println("Hi " + args[0]);
    }
}

現在我只是從控制台編譯並執行它(我在 Ubuntu 服務器上):

~$:javac PrintName.java
~$:java PrintName "Fernando"

我得到下一個 output:

Hi Fernando

我知道在 Linux 中有類似“yes”的命令,通過它我可以獲得無限的 stream 數據。 我的想法是做這樣的事情:

yes "Fernando" | java PrintName >> my_file.txt

我希望能夠將“無限”費爾南多傳遞給我的程序並讓它無限運行多次,然后能夠操縱 STDO 重定向到某個文件。

我不知道我是否解釋清楚,抱歉我對英語的處理不好。 非常感謝您的寶貴時間。

這是您想要命令的地方:

yes Fernando | xargs java PrintName

xargs 獲取標准輸入的每一行,並將其作為命令行 arguments 傳遞給給定的命令。

要將其重定向到文件,您可以將其包裝在分組構造中:

{ yes Fernando | xargs java PrintName; } >> my_file.txt

暫無
暫無

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

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