process-substitution

    2熱度

    1回答

    如果函數失敗,我想退出腳本。通常情況下這不是問題,但如果使用工藝替代,則會成爲問題。 $ cat test.sh #!/bin/bash foo(){ [ "$1" ] && echo pass || exit } read < <(foo 123) read < <(foo) echo 'SHOULD NOT SEE THIS' $ ./test.sh SHOUL

    2熱度

    2回答

    我有一個C++可執行的是,在正常使用中,接受文件名作爲以下面的方式的參數的選項: executable -i myFile.txt 欲使用擊進程替換以下面的方式來創建一個「虛擬文件」,併發送信息(簡單,通過行數據線)到這個可執行: executable -i <(echo "${myData}") 然而,我的C++程序沒有在訪問所述信息,當我使用這個過程替代。在C++程序代碼的主要文件讀取

    2熱度

    1回答

    我很努力去理解進程替換。據我所知, echo abcd | tr -d 'b' tr -d 'b' <(echo abcd) 都應該給出相同的輸出。但第一個工作(輸出是'ACD'),但第二個說 tr: extra operand '/dev/fd/63' 這是爲什麼?不只是通過管道接收'abcd',而不是'/ dev/fd/63'?

    4熱度

    3回答

    我想在從stdout中讀取修改的內容之前運行子進程來修改文件(分兩步)。 我試圖通過使用在bash中完美工作的進程替換來做到這一點,但不是當我從節點嘗試它時。 這是怎麼樣的,有什麼命令看起來像.. var p = exec('command2 <(capture /dev/stdout | command1 -i file -) -', function (error, stdout, stde

    5熱度

    2回答

    我有一個bash腳本中,我想傳達給對標準輸出的用戶,而且還通過文件描述符發送到一個子進程的命令 - 是這樣的: # ... # ... echo "Hello user, behold a cleared gnuplot window" # pass the string "clear" to gnuplot via file descriptor 3 echo "clear" >&3

    6熱度

    2回答

    我是一名C/C++程序員,一般來說相當愚蠢(或者至少bash所做的事情讓我感到困惑) 。我無法繞過process substitution。 我需要定義一個全局布爾值,將其設置在一個循環的某個地方,並在全局範圍內使用它。是否有人可以用最簡單的方式解釋如何調整下面的代碼以使我能夠實現我的用例,這足夠簡單,以便我明天不必再次扭曲我的大腦,嘗試和掌握流程替換。 # DEFINE HERE for i

    3熱度

    1回答

    這裏是bash的進程替換的例子: [email protected]:~/Desktop$ echo >(ls) /dev/fd/63 [email protected]:~/Desktop$ abs-guide.pdf 然後我得到一個光標等待命令。 /dev/fd/63不存在。我認爲發生的事情是: 產出/dev/fd 使用的文件名執行ls在>(ls) 這是正確的?爲什麼有一個等待輸入的光

    7熱度

    4回答

    我有用於備份我的系統的這個shell腳本。有一行: tar -Pzcpf /backups/backup.tar.gz --directory=/ --exclude=proc --exclude=sys --exclude=dev/pts --exclude=backups --exclude=var/log/2> >(grep -v 'socket ignored' >&2) 正如你所看到

    2熱度

    3回答

    對於這個問題,我將使用grep,因爲它的使用文本打印到stderr $ grep Usage: grep [OPTION]... PATTERN [FILE]... Try `grep --help' for more information. 你可以用進程替換標準輸出輕鬆捕捉 $ read b < <(echo hello world) 但是標準錯誤滑過過程替換並打印到控制檯上 $

    10熱度

    4回答

    我想了解這兩個類似命令之間的差異。 aa=$(foo | bar | head -1) read aa < <(foo | bar | head -1) 我知道<()需要#!/bin/bash,但它使得它更慢? 他們是否創造了相同數量的亞殼? 他們是否需要相同數量的bash或sh流程? 我正在尋找使用最佳性能的命令。