Alias (команда)

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Alias — це команда в різних інтерпретаторах командного рядка, яка дозволяє замінити слово іншим рядком. В основному він використовується для скорочення системної команди або для додавання аргументів за замовчуванням до регулярно використовуваної команди. Alias доступний в оболонках Unix, AmigaDOS, 4DOS/4NT, KolibriOS, Windows PowerShell[1], ReactOS та оболонці EFI. Команди alias можуть бути записані безпосередньо в файлі конфігурації або отримані з окремого файлу.

Історія[ред. | ред. код]

У Unix alias були введені в оболонку C і зберігаються в оболонках-нащадках, таких як tcsh і bash. Псевдоніми оболонки C були строго обмежені одним рядком. Це було корисно для створення простих команд швидкого доступу, але не більш складних конструкцій. Концепція псевдоніма з csh була імпортована в оболонку Korn (ksh). З оболонками, які підтримують і функції, і псевдоніми, але без параметризованих вбудованих сценаріїв оболонки, рекомендується використовувати функції, де це можливо.

Використання[ред. | ред. код]

Створення alias[ред. | ред. код]

Unix[ред. | ред. код]

Непостійні псевдоніми можна створити, надавши ім'я/значення як аргументи для команди псевдоніма. В оболонках Unix синтаксис такий[2][3][4]:

alias gc='git commit'

C shell[ред. | ред. код]

Синтаксис в оболонці C[5] або tcsh такий:

alias gc "git commit"

Цей псевдонім означає, що коли команда gc читається в оболонці, вона буде замінена на git commit, і ця команда буде виконана.

4DOS[ред. | ред. код]

У оболонці 4DOS/4NT використовується наступний синтаксис, щоб визначити cp як псевдонім для команди копіювання 4DOS:

alias cp copy

Windows PowerShell[ред. | ред. код]

Щоб створити новий псевдонім у Windows PowerShell, можна використовувати New-Alias[6]:

new-alias ci copy-item

Це створює новий псевдонім під назвою ci, який під час виконання буде замінено на copy-item.

Перегляд поточних alias[ред. | ред. код]

Для перегляду існуючих псевдонімів можна використовувати такі команди:

alias         #Використовується без аргументів; відображає список усіх поточних alias
alias -p      #Перерахуйте alias таким чином, щоб дозволити повторне створення шляхом отримання вихідних даних
alias myAlias #Відображає команду для існуючого alias

Перевизначення alias[ред. | ред. код]

У оболонках Unix можна перевизначати, вводячи в лапки будь-який символ в імені alias під час його використання. Наприклад, розглянемо таке визначення:

alias ls='ls -la'

Щоб замінити цей alias і виконати команду ls, як вона була визначена спочатку, можна використовувати такий синтаксис:

'ls' або \ls

У оболонці 4DOS/4NT можна замінити alias, поставивши до нього префікс зірочки. Наприклад, розглянемо таке визначення:

alias dir = *dir /2/p

Зміна alias[ред. | ред. код]

У Windows PowerShell дієслово set можна використовувати з командлетом alias, щоб змінити існуючий:

set-alias ci cls

Псевдонім ci тепер вказуватиме на команду cls. У оболонці 4DOS/4NT команда eset надає інтерактивний командний рядок для редагування існуючого alias:

eset /a cp

/a викликає редагування псевдоніма cp, на відміну від змінної середовища з такою ж назвою.

Видалення alias[ред. | ред. код]

В оболонках Unix і 4DOS/4NT alias можна видалити, виконавши команду unalias:

unalias copy #видаляє копію alias
unalias -a   #-a switch видалить усі alias
unalias *    #4DOS/4NT еквівалент `unalias -a` - підтримуються символи підстановки

Особливості[ред. | ред. код]

Послідовність[ред. | ред. код]

Alias зазвичай замінює лише перше слово. Але деякі оболонки, такі як bash і ksh, дозволяють замінювати послідовність або слова. Ця конкретна функція недоступна через механізм функцій.

Звичайний синтаксис полягає у визначенні першого alias за допомогою пробілу в кінці. Наприклад, використовуючи два alias:

alias list='ls '   #зверніть увагу на кінцевий пробіл, щоб запустити послідовність
alias long='-Flas' #параметри для ls для довгого списку

Аргументи команди[ред. | ред. код]

У командній оболонці C аргументи можуть бути вбудовані всередину команди за допомогою рядка \!*. Наприклад, з таким alias:

alias ls-more 'ls \!* | more'

Натомість оболонки Bash і Korn використовують функції оболонки — див Альтернативи нижче.

Альтернативи[ред. | ред. код]

Найпоширенішу форму alias, які просто додають кілька параметрів до команди, а потім включають решту командного рядка, можна легко перетворити на функції оболонки за цим шаблоном:

alias ll='ls -Flas'       #довгий список, alias
ll () { ls -Flas "$@" ; } #довгий список,функція

Щоб запобігти рекурсивному виклику функції, використовуйте команду:

ls () { command ls --color=auto "$@" ; }

У старих оболонках Борна використовуйте /bin/ls замість команди ls.


Див. також[ред. | ред. код]

Зноски[ред. | ред. код]

  1. about Aliases - PowerShell. learn.microsoft.com (en-us) . 6 лютого 2023. Процитовано 12 жовтня 2023.
  2. Tijink, Stephan. Der Shell-Befehl alias. Pro-Linux (нім.). Процитовано 15 жовтня 2023.
  3. alias › Wiki › ubuntuusers.de. wiki.ubuntuusers.de. Процитовано 15 жовтня 2023.
  4. alias(1p) - Linux manual page. man7.org. Процитовано 15 жовтня 2023.
  5. Alias substitution in the C shell. www.ibm.com (en-us) . 6 лютого 2023. Процитовано 12 жовтня 2023.
  6. New-Alias (Microsoft.PowerShell.Utility) - PowerShell. learn.microsoft.com (en-us) . Процитовано 15 жовтня 2023.