Bash 这个命令的作用是什么?环境|>;临时形态awk

Bash 这个命令的作用是什么?环境|>;临时形态awk,bash,Bash,我已经在网上搜索过了,但找不到这个命令是如何工作的(可能是因为我不知道该用什么词),特别是这部分|> 我知道管道和重定向,但我从未见过它一起使用 env|>${OPENSHIFT_TMP_DIR}/httpd_temp.conf awk 'BEGIN{FS="="} $1 ~ /^OPENSHIFT/ {print "PassEnv", $1}' |>没有任何特殊意义 Bash允许你把重定向放在一个简单命令的第一个字之前;所以你的命令实际上相当于 env | awk ... >

我已经在网上搜索过了,但找不到这个命令是如何工作的(可能是因为我不知道该用什么词),特别是这部分
|>

我知道管道和重定向,但我从未见过它一起使用

env|>${OPENSHIFT_TMP_DIR}/httpd_temp.conf awk 'BEGIN{FS="="} $1 ~ /^OPENSHIFT/ {print "PassEnv", $1}'

|>
没有任何特殊意义

Bash允许你把重定向放在一个简单命令的第一个字之前;所以你的命令实际上相当于

env | awk  ... > ${OPENSHIFT_TMP_DIR}/httpd_temp.conf

(但我不知道为什么有人会用你发布的方式来写。)

你检查过这个吗:?@rahultripati:这有什么关系?那个问题是关于
|
,而这个问题是关于
|>
。你是怎么发现那个问题的?我把
|>
放在搜索框里,但什么也没找到。我很想知道例外情况是什么。@chepner:我没有权威列表,我只是根据经验知道这似乎只适用于简单命令,而不是复合命令。例如,
>foo(bar)
>foo{bar;}
>foo while bar;杜巴兹;完成
都是语法错误,即使将重定向移到末尾,相同的命令也可以正常工作。哦,对了。这在
bash
手册页(可能在POSIX规范的某个地方)中有记录:“以下重定向操作符可能在一个简单命令之前或出现在任何地方,也可能在一个命令之后。”(我的重点)@chepner:啊,谢谢!不知何故,我从来没有看到过这一点;我想我总是略过错误的部分。我会更新答案,让它更精确。