Используя bash
, я могу получить расширение файла просто:
FILE_BASENAME="abcd.001.xyz.txt"
FILE_EXTENSION="${FILE_BASENAME##*.}"
echo $FILE_EXTENSION
Я также могу получить тот же результат, используя немного другой синтаксис:
FILE_BASENAME="abcd.001.xyz.txt"
RESULT=$(echo "${FILE_BASENAME##*.}")
echo $FILE_EXTENSION
Независимо от того, каким образом при обоих подходах получается строка txt
.
К сожалению, тот же синтаксис в конвейере Jenkins приводит к пустой строке:
FILE_EXTENSION = sh(script: '$(echo "${FILE_BASENAME##*.}")', returnStdout: true).trim()
Я также пробовал вариант этой команды с
FILE_EXTENSION = sh(script: 'echo $(echo "${FILE_BASENAME##*.}")', returnStdout: true).trim()
, который также не работает.
Как получить расширение файла в Jenkins?