Jenkins无法识别sh.exe,尽管已添加到PATH

ttp71kqs  于 2022-09-20  发布在  Jenkins
关注(0)|答案(2)|浏览(213)

我正在尝试在Windows上使用sh而不是bat运行管道。

我在全局属性中添加了以下路径:

C:Program FilesGitusrbin
C:Program FilesGitbin

但它仍然不起作用。

当我运行管道时,我收到以下错误消息:

[pipeline] sh
/usr/bin/sh: C:Program FilesGitbinsh.exe: Command not found
[pipeline] }

请注意,文件sh.exe位于文件夹C:\Program Files\Git\bin\

但是,如果我使用带有Execute Shell的Freestyle项目,它可以正常工作。

我还能做些什么来解决这个问题?

wlzqhblo

wlzqhblo1#

事实证明,Program Files中的空间是在尝试运行管道时导致问题的空间。因此,在C:\Program Files\Git\bin\中未找到sh.exe

所以我不得不将Git\bin位置移动到路径中没有空格的其他地方。

wpcxdonn

wpcxdonn2#

您可以做的一件事是在管道运行时设置PATH变量。因此,基本上可以在您的管道中运行此批处理命令:

SET PATH=PATH;"C:Program FilesGitbin"

现在,如果要将sh作为批处理命令运行,它应该引用"C:\Program Files\Git\bin中的sh.exe

相关问题