Переменные bash: различия между версиями
Дым (обсуждение | вклад) Нет описания правки |
Дым (обсуждение | вклад) Нет описания правки |
||
Строка 9: | Строка 9: | ||
!rowspan=2 style="writing-mode:vertical-lr;transform:rotate(180deg)"|Счёт… | !rowspan=2 style="writing-mode:vertical-lr;transform:rotate(180deg)"|Счёт… | ||
|…элементов массива (удобно для цикла <code>for</code>) | |…элементов массива (удобно для цикла <code>for</code>) | ||
|<pre>${! | |<pre>${!переменная[@]}</pre> | ||
|<code>"${<span style="background-color:yellow">!</span>array[@]}</code> | |<code>"${<span style="background-color:yellow">!</span>array[@]}</code> | ||
|style="text-align:center"|array=(some content of our array) | |style="text-align:center"|array=(some content of our array) |
Версия от 03:43, 26 мая 2022
Всякий раз вспоминая, как можно выудить часть bash-переменной без разбиения её вызовом команд, гуглил что-то вроде этой статьи.
Дабы больше не искать, решил перевести сюда тот самый блок, ради которого всё затевалось.
Действие | Оператор | Пример | Результат | |
---|---|---|---|---|
Счёт… | …элементов массива (удобно для цикла for )
|
${!переменная[@]} |
"${!array[@]}
|
array=(some content of our array)
↓ |
…числа символов в переменной | ${#переменная} |
"${#URL}"
|
https://www.altlinux.org/index.php
↓ | |
Удаление… | …всех символов кроме части (не обязательно заданной длины) от символа:
|
${переменная:начало[:длина]} ${переменная: -конец[:длина]} |
"${URL: -22:8}}"
|
↓ |
…кратчайшего совпадения с шаблоном в начале строки | ${переменная#шаблон} |
"${URL#*/}"
|
↓ | |
…длиннейшего совпадения с шаблоном в начале строки | ${переменная##шаблон} |
"${URL##*/}"
|
↓ | |
…кратчайшего совпадения с шаблоном в конце строки | ${переменная%шаблон} |
"${URL%/*}"
|
https://www.altlinux.org | |
…длиннейшего совпадения с шаблоном в конце строки | ${переменная%%шаблон} |
"${URL%%/*}"
|
https: ↓ | |
Замена… | …первого совпадения с шаблоном | ${переменная/шаблон/заменитель} |
"${URL/./-}"
|
https://www.altlinux.org/index.php
↓ |
…каждого совпадения с шаблоном | ${переменная//шаблон/заменитель} |
"${URL//./-}"
|
https://www.altlinux.org/index.php
↓ | |
…шаблона в начале строки | ${переменная/#шаблон/заменитель} |
"${URL/#*:/ftp:}"
|
https://www.altlinux.org/index.php
↓ | |
…шаблона в конце строки | ${переменная/%шаблон/заменитель} |
"${URL/%.php/.jpg}"
|
https://www.altlinux.org/index.php | |
…регистра:
|
${переменная[^|,][^^|,,[шаблон]]} |
"${URL^^[ht]}"
|
https://www.altlinux.org/index.php
↓ |