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

Материал из ALT Linux Wiki
Нет описания правки
Нет описания правки
Строка 11: Строка 11:
|style="text-align:center"|<s>https:/</s>/guide.bash.academy/variables.html<br/>↓<br/>/guide.bash.academy/variables.html
|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"|https://guide.bash.academy<s>/variables.html</s><br/>↓<br/>https://guide.bash.academy
|-
|-
|<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"|https:<s>//guide.bash.academy/variables.html</s><br/>↓<br/>https:
|}
|}
{{Category navigation|title=Системному администратору|category=Admin|sortkey={{SUBPAGENAME}}}}
[[Категория:Admin]]

Версия от 02:41, 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

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

https: