Переменные bash: различия между версиями

Материал из ALT Linux Wiki
(Новая страница: «Всякий раз вспоминая, как можно выудить часть bash-переменной без разбиения её вызовом команд, гуглил что-то вроде [https://guide.bash.academy/expansions/ этой] статьи. Чтобы в дальнейшем искать не приходилось, решил перевести сюда тот самый блок, ради которого всё затевал...»)
 
Нет описания правки
Строка 6: Строка 6:
!Оператор!!Действие!!Пример!!Результат
!Оператор!!Действие!!Пример!!Результат
|-
|-
|<code>${переменная#образец}</code>||Удаление ''кратчайшего'' куска, совпадающего с образцом в начале строки.||<code>"${url#*/}"</code>||style="text-align:center"|<s>https:/</s>/guide.bash.academy/variables.html<br/>↓<br/>/guide.bash.academy/variables.html
|<code>${переменная#образец}</code>
|Удаление ''кратчайшего'' куска, совпадающего с образцом '''в начале''' строки.
|<code>"${url#*/}"</code>
|style="text-align:center"|<s>https:/</s>/guide.bash.academy/variables.html<br/>↓<br/>/guide.bash.academy/variables.html
|-
|-
|<code>${переменная##образец}</code>||Удаление ''длиннейшего'' куска, совпадающего с образцом в начале строки.||<code>"${url##*/}"</code>||style="text-align:center"|<s>https://guide.bash.academy/</s>variables.html<br/>↓<br/>variables.html
|<code>${переменная##образец}</code>||Удаление ''длиннейшего'' куска, совпадающего с образцом '''в начале''' строки.||<code>"${url##*/}"</code>||style="text-align:center"|<s>https://guide.bash.academy/</s>variables.html<br/>↓<br/>variables.html
|-
|<code>${переменная%образец}</code>||Удаление ''кратчайшего'' куска, совпадающего с образцом '''в конце''' строки.||<code>"${url%/*}"</code>||style="text-align:center"|<s>https:/</s>/guide.bash.academy/variables.html<br/>↓<br/>/guide.bash.academy/variables.html
|-
|<code>${переменная%%образец}</code>||Удаление ''длиннейшего'' куска, совпадающего с образцом '''в конце''' строки.||<code>"${url%%/*}"</code>||style="text-align:center"|<s>https://guide.bash.academy/</s>variables.html<br/>↓<br/>variables.html
|}
|}

Версия от 02:37, 16 марта 2022

Всякий раз вспоминая, как можно выудить часть bash-переменной без разбиения её вызовом команд, гуглил что-то вроде этой статьи. Чтобы в дальнейшем искать не приходилось, решил перевести сюда тот самый блок, ради которого всё затевалось.

Разберём оперирование переменными на примере строки url='https://guide.bash.academy/variables.html'.
Оператор Действие Пример Результат
${переменная#образец} Удаление кратчайшего куска, совпадающего с образцом в начале строки. "${url#*/}" https://guide.bash.academy/variables.html

/guide.bash.academy/variables.html
${переменная##образец} Удаление длиннейшего куска, совпадающего с образцом в начале строки. "${url##*/}" https://guide.bash.academy/variables.html

variables.html
${переменная%образец} Удаление кратчайшего куска, совпадающего с образцом в конце строки. "${url%/*}" https://guide.bash.academy/variables.html

/guide.bash.academy/variables.html
${переменная%%образец} Удаление длиннейшего куска, совпадающего с образцом в конце строки. "${url%%/*}" https://guide.bash.academy/variables.html

variables.html