![basename 命令在 jenkins 中不起作用](https://linux22.com/image/165131/basename%20%E5%91%BD%E4%BB%A4%E5%9C%A8%20jenkins%20%E4%B8%AD%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8.png)
创建了一项詹金斯参数化作业。其中 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##*/}"