젠킨스에서 basename 명령이 작동하지 않습니다.

젠킨스에서 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##*/}"

관련 정보