我创造了一个詹金斯工作和两个shell脚本采购从另一个脚本的脚本上詹金斯
b.sh
======
sum()
{
echo "Sum called from b.sh"
}
a.sh
=======
echo "From Script A"
. ./b.sh
sum // Calling function of b.sh
当我执行詹金斯工作“脚本a.sh”获取调用,我希望“采购的” b.sh发生
然而,在功能上詹金斯错误‘如下
a.sh: line xx: sum: command not found
和’请提出的解决方案来克服这个
我将'b.sh'应用于$ WORKSPACE,并在'b.sh'中添加了'set -vx'并且发生了采购。
问题是与调用函数““从‘a.sh’。
将'set -vx'放在'a.sh'的顶部,并将生成的日志合并到您的问题中。你应该从'b.sh'找到一个额外的错误,如果它确实没有被找到。 –
请再次包含*实际日志*,显示正在采购的内容。如果您的日志中包含您无法提供的内容,请确保问题在脚本被裁减到您可以提供并提供的内容时仍然发生 - 也就是说,提供[mcve]。 –
如果在你的* real *脚本中,内容源自一个子shell,然后你尝试在父shell中运行这个命令,那么这就是我们的问题 - 但是如果你只测试更大,更复杂的脚本而不是问题中的最小版本,那么该问题被掩盖了诊断。 –