我創造了一個詹金斯工作和兩個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中運行這個命令,那麼這就是我們的問題 - 但是如果你只測試更大,更復雜的腳本而不是問題中的最小版本,那麼該問題被掩蓋了診斷。 –