Коли %
використовується в шаблоні, ${variable%substring}
він поверне вміст variable
з найменшою швидкістю substring
видалення зі зворотної сторони variable
.
Ця функція підтримує шаблони підстановки - тому вона приймає зірочку (зірочку) як підміст для нуля або більше символів.
Слід зазначити, що це специфічно для Bash - інші оболонки Linux не обов'язково містять цю функцію.
Якщо ви хочете дізнатися більше про обробку рядків у Bash, я настійно пропоную прочитати цю сторінку. Серед інших зручних функцій він, наприклад, пояснює, що робить %%
:)
Змінити: Я забув згадати , що , коли він використовується в шаблоні $((variable%number))
або персонаж буде функціонувати в якості оператора по модулю. DavidPostill має більш конкретні посилання на документацію у своїй відповіді.$((variable1%$variable2))
%
Якщо %
він використовується в іншому контексті, його слід визнавати лише регулярним символом.
%%
або##
, оскільки це запам'ятовується і досить рідко, щоб швидко знайти потрібний розділ.man bash
/##