История изменений
Исправление Shushundr, (текущая версия) :
MY_PV="${PV%_p*}-ga"
bash заменит ${PV%_p*} на значение переменной PV, удалив самую длинную подстроку, соответствующую шаблону _p*
MY_PV=«21.0.1-ga»
https://www.gnu.org/software/bash/manual/html_node/Shell-Parameter-Expansion.html
SLOT="${MY_PV%%[.+]*}"
В Bash, когда вы используете %% в параметрическом расширении, это означает, что вы хотите удалить самую длинную подстроку, соответствующую шаблону, с конца строки.
bash заменит ${MY_PV%%[.+]*}
на значение переменной MY_PV, удалив самую длинную подстроку, соответствующую шаблону [.+]* с конца строки.
openjdk-21.0.1_p12.ebuild
SLOT=«21» или SLOT=«2» ?
PV="21.0.1_p12"
MY_PV="${PV%_p*}-ga"
SLOT="${MY_PV%%[.+]*}"
echo "${SLOT}";
выводит 21, но мне непонятно, почему.
https://www.gnu.org/software/bash/manual/html_node/Pattern-Matching.html
Пробовал убрать «+» (SLOT="${MY_PV%%[.]*}"
), ничего не поменялось.
И квадратные скобки пробовал убрать (SLOT="${MY_PV%%.*}"
), то же самое…
Исправление Shushundr, :
MY_PV="${PV%_p*}-ga"
bash заменит ${PV%_p*} на значение переменной PV, удалив самую длинную подстроку, соответствующую шаблону _p*
MY_PV=«21.0.1-ga»
https://www.gnu.org/software/bash/manual/html_node/Shell-Parameter-Expansion.html
SLOT="${MY_PV%%[.+]*}"
В Bash, когда вы используете %% в параметрическом расширении, это означает, что вы хотите удалить самую длинную подстроку, соответствующую шаблону, с конца строки.
bash заменит ${MY_PV%%[.+]*}
на значение переменной MY_PV, удалив самую длинную подстроку, соответствующую шаблону [.+]* с конца строки.
openjdk-21.0.1_p12.ebuild
SLOT=«21» или SLOT=«2» ?
PV="21.0.1_p12"
MY_PV="${PV%_p*}-ga"
SLOT="${MY_PV%%[.+]*}"
echo "${SLOT}";
выводит 21, но мне непонятно, почему.
https://www.gnu.org/software/bash/manual/html_node/Pattern-Matching.html
Пробовал убрать «+» (SLOT="${MY_PV%%[.]*}"
), ничего не поменялось.
Исправление Shushundr, :
MY_PV="${PV%_p*}-ga"
bash заменит ${PV%_p*} на значение переменной PV, удалив самую длинную подстроку, соответствующую шаблону _p*
MY_PV=«21.0.1-ga»
https://www.gnu.org/software/bash/manual/html_node/Shell-Parameter-Expansion.html
SLOT="${MY_PV%%[.+]*}"
В Bash, когда вы используете %% в параметрическом расширении, это означает, что вы хотите удалить самую длинную подстроку, соответствующую шаблону, с конца строки.
bash заменит ${MY_PV%%[.+]*}
на значение переменной MY_PV, удалив самую длинную подстроку, соответствующую шаблону [.+]* с конца строки.
openjdk-21.0.1_p12.ebuild
SLOT=«21» или SLOT=«2» ?
PV="21.0.1_p12"
MY_PV="${PV%_p*}-ga"
SLOT="${MY_PV%%[.+]*}"
echo "${SLOT}";
выводит 21, но мне непонятно, почему.
https://www.gnu.org/software/bash/manual/html_node/Pattern-Matching.html
Исправление Shushundr, :
MY_PV="${PV%_p*}-ga"
bash заменит ${PV%_p*} на значение переменной PV, удалив самую длинную подстроку, соответствующую шаблону _p*
MY_PV=«21.0.1-ga»
https://www.gnu.org/software/bash/manual/html_node/Shell-Parameter-Expansion.html
SLOT="${MY_PV%%[.+]*}"
В Bash, когда вы используете %% в параметрическом расширении, это означает, что вы хотите удалить самую длинную подстроку, соответствующую шаблону, с конца строки.
bash заменит ${MY_PV%%[.+]*}
на значение переменной MY_PV, удалив самую длинную подстроку, соответствующую шаблону [.+]* с конца строки.
openjdk-21.0.1_p12.ebuild
SLOT=«21» или SLOT=«2» ?
Исходная версия Shushundr, :
MY_PV=«${PV%_p*}-ga»
bash заменит ${PV%_p*} на значение переменной PV, удалив самую длинную подстроку, соответствующую шаблону _p*
MY_PV=«21.0.1-ga»
https://www.gnu.org/software/bash/manual/html_node/Shell-Parameter-Expansion.html
SLOT=«${MY_PV%%[.+]*}»
В Bash, когда вы используете %% в параметрическом расширении, это означает, что вы хотите удалить самую длинную подстроку, соответствующую шаблону, с конца строки.
bash заменит ${MY_PV%%[.+]} на значение переменной MY_PV, удалив самую длинную подстроку, соответствующую шаблону [.+] с конца строки.
openjdk-21.0.1_p12.ebuild
SLOT=«21» или SLOT=«2» ?