Периодически забываю, так что сделал памятку.
Извлечение подстроки
${string:position} - с position до конца
${string:position:length} - с position длиной length символов
${string: -length} - последние length символов
Удаление части строки
${string#substring} - до первого с начала
${string##substring} - до последнего с начала
${string%substring} - до первого с конца
${string%%substring} - до последнего с конца
Замена подстроки
${string/substring/replacement} - первое вхождение
${string//substring/replacement} - все вхождения
${var/#Pattern/Replacement} - Если в переменной var найдено совпадение с Pattern, причем совпадающая подстрока расположена в начале строки (префикс), то оно заменяется на Replacement. Поиск ведется с начала строки ${var/%Pattern/Replacement} - Если в переменной var найдено совпадение с Pattern, причем совпадающая подстрока расположена в конце строки (суффикс), то оно заменяется на Replacement. Поиск ведется с конца строки
${#string} - Длина строки
Пример: a="12345"; echo "${a}"; echo "${a:3}"; echo "${a#12}"; echo "${a/12/21}"
Извлечение подстроки
${string:position} - с position до конца
${string:position:length} - с position длиной length символов
${string: -length} - последние length символов
Удаление части строки
${string#substring} - до первого с начала
${string##substring} - до последнего с начала
${string%substring} - до первого с конца
${string%%substring} - до последнего с конца
Замена подстроки
${string/substring/replacement} - первое вхождение
${string//substring/replacement} - все вхождения
${var/#Pattern/Replacement} - Если в переменной var найдено совпадение с Pattern, причем совпадающая подстрока расположена в начале строки (префикс), то оно заменяется на Replacement. Поиск ведется с начала строки ${var/%Pattern/Replacement} - Если в переменной var найдено совпадение с Pattern, причем совпадающая подстрока расположена в конце строки (суффикс), то оно заменяется на Replacement. Поиск ведется с конца строки
${#string} - Длина строки
Пример: a="12345"; echo "${a}"; echo "${a:3}"; echo "${a#12}"; echo "${a/12/21}"