如何将git命令的输出存储在变量中?

ali*_*sav 23 linux bash shell

我想要的是将git命令的输出(例如git status)存储在shell脚本中的变量中.当我说输出时,我说的是在执行命令时在终端中返回的文本,例如:在我的repo之外执行git状态:

fatal: Not a git repository (or any of the parent directories): .git
Run Code Online (Sandbox Code Playgroud)

我试过这个:

var=$(git status)
Run Code Online (Sandbox Code Playgroud)

但'var'没有存储任何东西.

anu*_*ava 30

您可以使用:

var=$(git status 2>&1)
Run Code Online (Sandbox Code Playgroud)

即将stderr重定向到stdout然后捕获输出.

否则,当写入错误消息时stderr,您的命令:var=$(git status)仅捕获stdout.

  • 非常感谢!您能否提供我可以学习的任何文档链接.(我会给你一个投票,但我的低回购不会允许它.) (2认同)
  • [查看有关重定向的好教程](http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-3.html) (2认同)