Linux Shell命令在终端中工作,但在Jenkins构建期间不工作

Linux Shell命令在终端中工作,但在Jenkins构建期间不工作,linux,bash,shell,jenkins,Linux,Bash,Shell,Jenkins,我有一个Jenkins构建服务器,在每个构建完成之前运行以下命令: sudo make -f nameOfMakeFile.mak 当我在终端和相应的目录中时,这个命令工作正常,并生成所需的OUTDIR文件。但由于某种原因,当Jenkins运行相同的命令时,我得到了以下错误: sudo make -f nameOfMakeFile.mak /bin/sh: 1: cd: can't cd to ../../ThirdParty/aes/ 在这一点上,它继续将CD放入另一个目录并失败 你知道为

我有一个Jenkins构建服务器,在每个构建完成之前运行以下命令:

sudo make -f nameOfMakeFile.mak
当我在终端和相应的目录中时,这个命令工作正常,并生成所需的OUTDIR文件。但由于某种原因,当Jenkins运行相同的命令时,我得到了以下错误:

sudo make -f nameOfMakeFile.mak
/bin/sh: 1: cd: can't cd to ../../ThirdParty/aes/
在这一点上,它继续将CD放入另一个目录并失败


你知道为什么我的终端命令能工作,而运行同一命令的Jenkins不能吗?

你的
Jenkins
用户可能无法访问
。/../ThirdParty/aes/
。/../ThirdParty/aes/
显然是一条相对路径。当Jenkins执行
cd
命令时,您不知道它从哪里开始。您必须将路径设置为全局路径,或者为脚本指定一个已知的起点。

cd.././ThirdParty/aes/?他使用
sudo
预先编写了脚本,并且从错误中可以看出,cd是以root用户身份执行的。