basename 命令在 jenkins 中不起作用

basename 命令在 jenkins 中不起作用

创建了一项詹金斯参数化作业。其中 userspecificlocation --> 文件的完整路径。

ssh ubuntu@$ip -n  "aws s3 cp s3://bucket/$userlistlocation . --region eu-central-1"
fbname=`basename $userlistlocation` 
echo "$fbname"

我已经在本地机器上尝试过,它工作正常,但从詹金斯框回显给出空值。

尝试了另一种方法,但这也不起作用。

fbname=$(basename $userlistlocation) ; echo $fbname

答案1

不推荐使用反引号`blah`,通常$(blah)应该使用反引号,但实际上basename不需要,只需使用参数扩展,如下所示:

printf '%s\n' "${userlistlocation##*/}"

相关内容