添加命令输出作为变量;跨平台语法

添加命令输出作为变量;跨平台语法

一、总结

我不知道如何使用命令输出作为变量,使用跨平台语法。


2. 示例

例如,我想要获取我的远程 git 存储库的 URL:

SashaChernykh@DESKTOP-EEOT0TN /cygdrive/d/SashaBranchReleaseIt
$ git ls-remote --get-url
https://github.com/Kristinita/SashaBranchReleaseIt.git

运行命令在 Linux/Cygwin 中:

SashaChernykh@DESKTOP-EEOT0TN /cygdrive/d/SashaBranchReleaseIt
$ echo "URL is `git ls-remote --get-url`"
URL is https://github.com/Kristinita/SashaBranchReleaseIt.git

我在 Windows 中运行相同的命令cmd.exe

D:\SashaBranchReleaseIt>echo "URL is `git ls-remote --get-url`"
URL is `git ls-remote --get-url`

或者

D:\SashaBranchReleaseIt>echo "URL is $(git ls-remote --get-url)"
URL is $(git ls-remote --get-url)

不起作用。

我没有找到与 Windows 和 UNIX 都兼容的语法。


3. 条件

3.1.预计不会

我正在寻找一个解决方案,可以在默认 Windows 中运行命令cmd.exe。 Windows 用户没有义务为 Windows 或其他终端建立 Cygwin、Bash。

3.2.预期的

Windows用户可以添加到Path环境变量中通向 Cygwin 的路径,GnuWin32 CoreUtils移植到 Windows 的任何 UNIX 工具的命令或路径。


4.没有帮助

  1. 我找不到如何解决我的问题的答案这个问题

5. 不提供

  1. 是的,我知道,在 Windows 中我可以得到类似的行为(例子),但它们是 Windows 特定的。我正在寻找跨平台命令,而不是特定于 Windows 的命令。

相关内容