一、总结
我不知道如何使用命令输出作为变量,使用跨平台语法。
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.没有帮助
- 我找不到如何解决我的问题的答案这个问题。
5. 不提供
- 是的,我知道,在 Windows 中我可以得到类似的行为(例子),但它们是 Windows 特定的。我正在寻找跨平台命令,而不是特定于 Windows 的命令。