将UNIX风格的路径转换为Windows

发布于 2025-01-23 06:04:35 字数 223 浏览 0 评论 0原文

我的BASH脚本与Linux,Mac和Windows(带有Git Bash)上的BASH脚本相同。

仅在Git Bash运行时,如何才能确保将路径转换为Windows式路径?

java -classpath "./path-1/subdir:./path-2" com.example.Main

I have the same Bash script that I am running on Linux, Mac, and Windows (with Git Bash).

How can I make sure that the path is converted to a Windows-style path ONLY if running in Git Bash?

java -classpath "./path-1/subdir:./path-2" com.example.Main

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

复古式 2025-01-30 06:04:35

您可以测试存在 cygpath.exe

classpath="./path-1/subdir:./path-2"

if which cygpath.exe > /dev/null; then
  classpath="$(cygpath.exe -C ANSI -w -p "${classpath}")"
fi

java -classpath "${classpath}" com.example.Main

但是,请首先检查是否需要转换:在Bash Shell脚本(即使使用Windows Bash的Git)中,调用脚本/可执行文件时,Unix风格的路径也可以正常工作。但是,随着论点的传递,字符串通过。

You can test for the presence of cygpath.exe:

classpath="./path-1/subdir:./path-2"

if which cygpath.exe > /dev/null; then
  classpath="$(cygpath.exe -C ANSI -w -p "${classpath}")"
fi

java -classpath "${classpath}" com.example.Main

But check first if you even need that conversion: in a bash shell script (even with Git For Windows bash), a Unix-style path will work when calling scripts/executables. However, strings passed as arguments are passed as-is.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文