【发布时间】:2016-12-27 23:27:51
【问题描述】:
我有一个通常可以在 linux 中运行的脚本,但我正在尝试使其也可以在 Windows 上运行。
脚本基本上是调用一些其他程序,然后移动很多文件。
问题是所有路径都是使用普通斜杠 (/) 完成的,但是当我尝试使用 cmder 运行脚本时,例如 sh path/to/script/script.sh param 它找不到东西,因为它最终混合了斜杠: Unable to access jarfile C:\full\path\to\file/here/are/normal/slashes/javafile.jar 等等。
假设,当我编辑 java 文件以使用两种操作系统路径时,我将斜杠的连接更改为使用 java.nio.file.Paths.get 以获得正确的路径。
有没有办法在 bash 上做类似的事情?
f.e.如果我有jarpath=../path/to/jar,类似于jarpath=correct_os_path(../path/to/jar)
【问题讨论】:
-
Windows 理解正斜杠。你能把你的脚本改成
/full/path/to/file/here/are/normal/slashes/javafile.jar这样的东西吗? -
问题是我希望脚本同时在 windows 和 linux 上工作,我不想维护两个脚本。
标签: linux windows bash shell path