В основному, він використовує при виправлення попередніх аргументів (команди) .
Наприклад, якщо видається наступна команда:
echo Hello, world how are you today?
Потім, Hello,
буде перший аргумент, а today?
на шостий , який є останнім; тобто на нього можна посилатися, ввівши:
Alt+6 слідом за ним Ctrl-Alt-6
CtrlТрадиційно позначається як символ капелюха, ^
привласнений іменам клавіш, і Altяк M-
це є префіксом M eta .
Таким чином, вищевказаний ярлик можна переосмислити, як ^My
потягнути.
Також у командному рядку є ярлик заміни капелюхів :
echo Hello, world!
^Hello^Bye
Bye, world!
замінити перший збіг попередньої команди , тобто:
Hello, world! Hello, people!
^Hello^Bye
це призведе до:
Bye, world! Hello, people!
залишивши другий матч ( hello
) без змін.
Примітка: Не залишайте місця між шапками , інакше операція не буде працювати.
Вищенаведене - це лише ярлик для:
!:s/Hello/Bye
заміна рівня (event) рівня події для першого знайденого (зіставленого) рядка в попередній команді, при цьому префіксація першої частини за допомогою g
перемикача застосовуватиметься до всього рядка g локальному масштабі :
echo Hello, world! Hello, people!
!:gs/Hello/Bye
Bye, world! Bye, people!
як це робиться в інших пов'язаних командах, таких як sed
, vi
і, regex
(регулярний вираз) - стандартний спосіб пошуку ( відповідність рядку ).
Ні, ви не можете зробити це !:sg/Hello/Bye
чи !:s/Hello/Bye/g
тут, це синтаксис !
- ! є для подій; Подія може розумітися як командний вихід або операція, виконана в історії команд.
Це я зрозумів, використовуючи його сам і спробувавши речі самостійно з того, що я читав з різних джерел, включаючи сторінки керівництва, блоги та форуми.
Сподіваємось, він пролиє трохи світла на загадкові способи bash
оболонки Bourne-Again (гра на sh
оболонці, яка сама називається оболонкою Bourne за прізвищем свого винахідника), що є оболонкою за замовчуванням у багатьох дистрибутивах, включаючи сервери ( серверні ОС ).
bind -lp
та дивитись на поточні прив’язки.