什么>&做?

时间:2014-02-23 11:10:34

标签: bash jenkins io-redirection

我在makefile中有一个命令用于我正在处理的项目,我不知道>&中的java -jar java-cup-11a.jar -parser mj -dump src/mjparser/mj.cup >& javacup.dump部分是做什么的。

bash文档说这是非法的(当我尝试自动化时,我的jenkins也是如此)但由于某种原因在工作机器上构建,这个命令是完全合法的,只能这样工作。我已经尝试将其更改为>&1以使其成为有效的重定向,但它会破坏命令并且无法处理它。

是否应该将make命令更改为具有周围的引号以允许它作为单个命令执行?为什么我的Jenkins对待此命令的方式与类似的环境不同?

1 个答案:

答案 0 :(得分:3)

>&bashism

重定向STDOUTSTDERR

与您正在使用的内容相同的是:

java -jar java-cup-11a.jar -parser mj -dump src/mjparser/mj.cup > javacup.dump 2>&1

也适用于shdash