Jenkinsでbasenameコマンドは機能しません。

Jenkinsでbasenameコマンドは機能しません。

Jenkinsパラメータ化されたタスクを作成しました。ここでは、ユーザー固有の場所 - >ファイルのフルパスです。

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

私のローカルコンピュータで試してみましたが、うまくいきますが、Jenkinsボックスのエコーはnull値を提供します。

他のアプローチを試しましたが、それも効果がありませんでした。

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

ベストアンサー1

バックティックは使用されなくなりました`blah`。通常、$(blah)これを使用する必要がありますがbasename必要ありません。次のようにパラメータ拡張を使用できます。

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

おすすめ記事