Alias — це команда в різних інтерпретаторах командного рядка, яка дозволяє замінити слово іншим рядком. В основному він використовується для скорочення системної команди або для додавання аргументів за замовчуванням до регулярно використовуваної команди. Alias доступний в оболонках Unix, AmigaDOS, 4DOS/4NT, KolibriOS, Windows PowerShell, ReactOS та оболонці EFI. Команди alias можуть бути записані безпосередньо в файлі конфігурації або отримані з окремого файлу.
Історія У Unix alias були введені в оболонку C і зберігаються в оболонках-нащадках, таких як tcsh і bash. Псевдоніми оболонки C були строго обмежені одним рядком. Це було корисно для створення простих команд швидкого доступу, але не більш складних конструкцій. Концепція псевдоніма з csh була імпортована в оболонку Korn (ksh). З оболонками, які підтримують і функції, і псевдоніми, але без параметризованих вбудованих сценаріїв оболонки, рекомендується використовувати функції, де це можливо.
Використання
Створення alias
Unix Непостійні псевдоніми можна створити, надавши ім'я/значення як аргументи для команди псевдоніма. В оболонках Unix синтаксис такий: alias gc='git commit'
C shell Синтаксис в оболонці C або tcsh такий: alias gc "git commit" Цей псевдонім означає, що коли команда gc читається в оболонці, вона буде замінена на git commit, і ця команда буде виконана.
4DOS У оболонці 4DOS/4NT використовується наступний синтаксис, щоб визначити cp як псевдонім для команди копіювання 4DOS: alias cp copy
Windows PowerShell
Щоб створити новий псевдонім у Windows PowerShell, можна використовувати New-Alias: 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.
Див. також Програми UNIX-подібних операційних систем chmod
Зноски