簡體   English   中英

“ var =>(…)somecommand”如何工作?

[英]How does “var=>(…) somecommand” work?

  #1   
   f() {
        cat "$1" >"$x"
    }
  #2   
    x=>(tr '[:lower:]' '[:upper:]') f <(echo 'hi there')

在#2中,哪個部分首先執行? x=>(tr '[:lower:]' '[:upper:]')或f <(echo 'hi there') #2是復合化合物還是單個命令?

一個命令可以具有任意數量的var=value前綴; 這些變量將在該單個命令的持續時間內導出到環境,以后將不存在。 這不是bash特定的,而是POSIX sh標准的一部分。

“首先執行哪個部分?” 不是一個有意義的問題。 首先開始在X中存儲其FIFO的文件名(如果操作系統允許,則為/dev/fd條目和匿名FIFO)的進程替換,但執行是異步的。 (這就是說,因為進程替代寫入hi there的輸出被重定向為一個正在運行的tr輸入,所以具有echo那個必須阻塞,直到tr准備讀取其正在寫入的內容為止)。

暫無
暫無

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

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