создать псевдонимы Bash

Thank you for reading this post, don't forget to subscribe!

Вы часто вво­ди­те длин­ную коман­ду в команд­ной стро­ке или ище­те в исто­рии bash ранее набран­ную коман­ду? Если вы отве­ти­те «да» на любой из этих вопро­сов, то вам при­го­дят­ся псев­до­ни­мы bash. Псев­до­ни­мы Bash поз­во­ля­ют уста­но­вить запо­ми­на­ю­щу­ю­ся ком­би­на­цию кла­виш для более длин­ной команды.

Псев­до­ни­мы Bash – это, по сути, ярлы­ки, кото­рые могут изба­вить вас от необ­хо­ди­мо­сти запо­ми­нать длин­ные коман­ды и изба­вить от необ­хо­ди­мо­сти мно­го печа­тать, когда вы рабо­та­е­те в команд­ной стро­ке. Напри­мер, вы може­те уста­но­вить псев­до­ним tgz как ярлык для коман­ды tar -xvfz.

В этой ста­тье объ­яс­ня­ет­ся, как созда­вать псев­до­ни­мы bash, что­бы вы мог­ли быть более про­дук­тив­ны­ми в команд­ной строке.

Созда­ние псев­до­ни­мов в Bash очень про­сто. Син­так­сис выгля­дит сле­ду­ю­щим образом:


Что­бы создать новый псев­до­ним bash, нач­ни­те с вво­да клю­че­во­го сло­ва alias. Затем объ­яви­те псев­до­ним, за кото­рым сле­ду­ет знак равен­ства, и коман­ду, кото­рую вы хоти­те выпол­нить при вво­де псев­до­ни­ма. Коман­да долж­на быть заклю­че­на в кавыч­ки и без про­бе­ла вокруг зна­ка равен­ства. Каж­дый псев­до­ним дол­жен быть объ­яв­лен в новой строке.

Коман­да ls, веро­ят­но, явля­ет­ся одной из наи­бо­лее часто исполь­зу­е­мых команд в команд­ной стро­ке Linux. Обыч­но исполь­зу­ет­ся эта коман­да с пере­клю­ча­те­лем -la для выво­да спис­ка всех фай­лов и ката­ло­гов, вклю­чая скры­тые, в фор­ма­те длин­но­го списка.

Давай­те созда­дим про­стой псев­до­ним bash, llко­то­рый будет ярлы­ком для коман­ды ls -la. Для это­го открой­те окно тер­ми­на­ла и введите:


Теперь, если вы набе­ре­те ll в сво­ей кон­со­ли, вы полу­чи­те тот же вывод, что и при вво­де ls -la.

Псев­до­ним ll будет досту­пен толь­ко в теку­щем сеан­се обо­лоч­ки. Если вы вый­де­те из сеан­са или откро­е­те новый сеанс из дру­го­го тер­ми­на­ла, псев­до­ним будет недоступен.

Что­бы сде­лать псев­до­ним посто­ян­ным, вам нуж­но объ­явить его в фай­ле ~/.bash_profile или ~/.bashrc. Открой­те файл ~/.bashrc в вашем тек­сто­вом редакторе:


и добавь­те ваши псевдонимы:
~ / .Bashrc

Вы долж­ны назвать свои псев­до­ни­мы так, что­бы их было лег­ко запом­нить. Так­же реко­мен­ду­ет­ся доба­вить ком­мен­та­рий для даль­ней­ше­го использования.

После это­го сохра­ни­те и закрой­те файл. Сде­лай­те псев­до­ни­мы доступ­ны­ми в теку­щей сес­сии, набрав:


Как вы може­те видеть, созда­ние про­стых псев­до­ни­мов bash про­ис­хо­дит быст­ро и очень просто.

Если вы хоти­те сде­лать ваш .bashrc более модуль­ным, вы може­те хра­нить свои псев­до­ни­мы в отдель­ном фай­ле. Неко­то­рые дис­три­бу­ти­вы, такие как Ubuntu и Debian, содер­жат файл .bash_aliases, полу­чен­ный из ~/.bashrc.

Ино­гда вам может пона­до­бить­ся создать псев­до­ним, кото­рый при­ни­ма­ет один или несколь­ко аргу­мен­тов, вот где функ­ции bash пригодятся.

Син­так­сис для созда­ния функ­ции bash очень прост. Они могут быть объ­яв­ле­ны в двух раз­ных форматах:


или же

Что­бы пере­дать любое коли­че­ство аргу­мен­тов функ­ции bash, про­сто поме­сти­те их сра­зу после име­ни функ­ции, раз­де­лив их про­бе­лом. Пере­да­ва­е­мые пара­мет­ры явля­ют­ся $1, $2, $3 и т.д., в соот­вет­ствии с поло­же­ни­ем пара­мет­ра после име­ни функ­ции. Пере­мен­ная $0 заре­зер­ви­ро­ва­на для име­ни функции.

Давай­те нач­нем с созда­ния про­стой функ­ции bash, кото­рая создаст ката­лог, а затем перей­дет в него:

~ / .Bashrc

Так же, как при созда­нии новых псев­до­ни­мов, добавь­те функ­цию в файл ~/.bashrc и запу­сти­те source ~/.bash_profile для перезагрузки.

Теперь вме­сто исполь­зо­ва­ния mkdir для созда­ния ново­го ката­ло­га, а затем коман­ду cd для пере­хо­да в этот ката­лог вы може­те про­сто набрать:


Если вам инте­рес­но, что такое — и &&, вот крат­кое объяснение.
  • — – гаран­ти­ру­ет, что вы не слу­чай­но пере­да­ли допол­ни­тель­ный аргу­мент коман­де. Напри­мер, если вы попы­та­е­тесь создать ката­лог, кото­рый начи­на­ет­ся с -(тире) без исполь­зо­ва­ния –име­ни ката­ло­га, будет интер­пре­ти­ро­вать­ся как аргу­мент команды.
  • && – обес­пе­чи­ва­ет выпол­не­ние вто­рой коман­ды, толь­ко если пер­вая коман­да выпол­не­на успешно.