繁体   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