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:啊,谢谢!不知何故,我从来没有看到过这一点;我想我总是略过错误的部分。我会更新答案,让它更精确。