![젠킨스에서 basename 명령이 작동하지 않습니다.](https://linux55.com/image/165131/%EC%A0%A0%ED%82%A8%EC%8A%A4%EC%97%90%EC%84%9C%20basename%20%EB%AA%85%EB%A0%B9%EC%9D%B4%20%EC%9E%91%EB%8F%99%ED%95%98%EC%A7%80%20%EC%95%8A%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
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##*/}"