将标准输出保存到变量时出现问题

将标准输出保存到变量时出现问题

寻找一些答案,但没有找到任何突出的解决方案。

我正在尝试制作一个 bash 脚本,在其中我需要将输出保存git rev-parse --show-toplevel到变量中。当我在终端中运行此命令时,它会输出一些内容。

首先,为什么myVar=git rev-parse --show-toplevel在我的脚本中不起作用?我收到的错误是rev-parse: command not found.

其次,我认为我需要做类似的事情myVar=${git rev-parse --show-toplevel},但这告诉我这是一个糟糕的替代。

任何人都可以为我澄清这些事情,或者链接到相关的内容吗?真的很感激。

答案1

您需要命令替换 ( $()) 将命令的输出保存在变量中:

myVar="$(git rev-parse --show-toplevel)"

现在要获取变量的值myVar,请使用"$myVar".

相关内容