我正在编写一个bash脚本以从原点提取master分支.Git在每个应用程序模块中均已初始化。
我的目录结构:
.-----bash_script
|----app1(git init)
|...various modules
|...error.txt
|...output.txt
|----app2(git init)
|...various modules
|...error.txt
|...output.txt
在bash_script中:$ directory包含(app1或app2 ...在循环中调用)
cd "${directory}" && git checkout master && git pull origin master >> output.txt 2>>error.txt
cd ..
上面的两行是针对每个应用程序调用的。这是我到目前为止所做的
问题:
我只得到stdout/stderr
我的最后一条命令的唯一命令,即从原点拉出,而不是从结帐中拉出。是否有可能获得整个命令的输出而无需在每个&&
??之前写文件名?那怎么
error.txt / output.txt文件在应用目录内生成。我如何在bash_script目录(即上一级)中生成它们。
当执行git pull origin master时
From http://gitProjectUrl branch master -> FETCH_HEAD
上一行在error.txt中重定向。
Already up-to-date.
并且此行在output.txt中重定向
为什么这两行都不在output.txt中?
只需将它们分组在一起即可{...}
:
{ cd "${directory}" && git checkout master && git pull origin master; } >>output.txt 2>>error.txt
cd ..
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句