下面是我的 Jenkins Pipeline 阶段
stage ('Import') {
steps {
sshagent([sshCredentials]) {
sh '''
#!/bin/bash
sh -x ETL_AUTOMATION/Scripts/export.sh
'''
构建输出:-
[[ RMO_TST12 == ]]
ETL_AUTOMATION/Scripts/export.sh: 17: ETL_AUTOMATION/Scripts/export.sh: [[: not found
if
脚本中的条件:-
if [[ "$SOURCE_FOLDER" == "" ]]; then
echo "SOURCE_FOLDER not specified... exiting"
exit 1
fi
#!/bin/bash
我在我的剧本中也提到过。
请帮助我,我真的被困在这里。
你正在跑步
sh -x ETL_AUTOMATION/Scripts/export.sh
。这意味着export.sh
正在运行sh
而不是运行bash
。在 Ubuntu 上,sh
是一个简单的 POSIX shelldash
,它不支持[[
构造,这是一个bash
东西。因此,只需更改您的脚本,以便使用bash
而不是sh
. 我根本不知道 Jenkins 语法,但我怀疑你想要其中之一:或者,如果您
export.sh
无法执行:或者,也许只是:
或者,您可以进行更改
export.sh
,使其不使用仅限 bash 的功能: