псевдоним (команда) - alias (command)

редактировать
псевдоним
Пример команды псевдонима Пример команды псевдоним
Автор (ы) Билл Джой
Разработчик (и) Различные разработчики с открытым исходным кодом и коммерческие разработчики
Операционная система Unix, Unix-подобная, AmigaDOS, Microsoft Windows, ReactOS, AROS, KolibriOS, IBM i
Платформа Кросс-платформенность
Тип Команда

В вычислениях, псевдоним - это команда в различных интерпретаторы командной строки (оболочки ), которые позволяют заменять слово другой строкой. Он в основном используется для сокращения системной команды или для добавления аргументов по умолчанию к регулярно используемой команде. псевдонимдоступен в оболочках Unix, AmigaDOS, 4DOS / 4NT, KolibriOS, Windows PowerShell, ReactOS и оболочка EFI. Функциональность наложения псевдонимов в операционных системах MS-DOS и Microsoft Windows обеспечивается служебной программой командной строки DOSKey.

Псевдоним будет действовать в течение всего сеанса оболочки. Регулярно используемые псевдонимы можно установить из файла rc оболочки (например, .bashrc), чтобы они были доступны при запуске соответствующего сеанса оболочки. Команды псевдонима могут быть записаны либо непосредственно в конфигурационный файл, либо получены из отдельного файла.

Содержание
  • 1 История
  • 2 Использование
    • 2.1 Создание псевдонимов
      • 2.1.1 Unix
      • 2.1.2 Оболочка C
      • 2.1.3 4DOS
      • 2.1.4 Windows PowerShell
    • 2.2 Просмотр текущих определенных псевдонимов
    • 2.3 Переопределение псевдонимов
    • 2.4 Изменение псевдонимов
    • 2.5 Удаление псевдонимов
  • 3 Возможности
    • 3.1 Объединение
    • 3.2 Аргументы команд
  • 4 Альтернативы
  • 5 Ссылки
  • 6 Дополнительная литература
  • 7 Внешние ссылки
История

В Unix псевдонимы были введены в оболочке C и сохраняются в дочерних оболочках, таких как tcsh и bash. Псевдонимы оболочки C были строго ограничены одной строкой. Это было полезно для создания простых команд быстрого доступа, но не для создания более сложных конструкций. Более старые версии оболочки Bourne не предлагали псевдонимов, но предоставляли функции, которые более мощные, чем концепция псевдонимов csh. Концепция псевдонима из csh была импортирована в Bourne Again Shell (bash) и оболочку Korn (ksh). В оболочках, которые поддерживают как функции, так и псевдонимы, но не содержат параметризованных встроенных сценариев оболочки, рекомендуется использовать функции везде, где это возможно. Случаи, когда необходимы псевдонимы, включают ситуации, когда требуются связанные псевдонимы (bash и ksh). Команда alias также была перенесена в операционную систему IBM i.

Использование

Создание псевдонимов

Unix

Не- постоянные псевдонимы могут быть созданы путем предоставления пар имя / значение в качестве аргументов для команды псевдонима. В оболочках Unix синтаксис:

alias gc = 'git commit'

C shell

Соответствующий синтаксис в C shell или tcsh оболочка:

псевдоним 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при выполнении.

В PowerShell нельзя использовать псевдоним для указания аргументов по умолчанию для команды. Вместо этого это должно быть сделано путем добавления элементов в коллекцию $ PSDefaultParameterValues, одну из предпочтительных переменных PowerShell.

Просмотр определенных псевдонимов

Для просмотра определенных псевдонимов можно использовать следующие команды:

alias # Используется без аргументов; отображает список всех текущих псевдонимов alias -p # Список псевдонимов таким образом, чтобы можно было воссоздать их путем получения вывода; недоступно в 4DOS / 4NT и PowerShell alias myAlias ​​# Отображает команду для определенного псевдонима

Переопределение псевдонимов

В оболочках Unix можно переопределить псевдоним, заключив в кавычки любой символ в имени псевдонима при использовании псевдоним. Например, рассмотрим следующее определение псевдонима:

alias ls = 'ls -la'

Чтобы переопределить этот псевдоним и выполнить команду ls в том виде, в каком она была изначально определена, можно использовать следующий синтаксис:

'ls'

или

\ ls

В оболочке 4DOS / 4NT можно переопределить псевдоним, поставив перед ним звездочку. Например, рассмотрим следующее определение псевдонима:

alias dir = * dir / 2 / p

Звездочка во втором экземпляре dir вызывает вызов unaliased dir, предотвращая рекурсивное расширение псевдонима. Также пользователь может получить в командной строке поведение dirбез элиализа, используя тот же синтаксис:

* dir

Изменение псевдонимов

в Windows PowerShell, команду setможно использовать с командлетом aliasдля изменения существующего псевдонима:

set-alias ci cls

Псевдоним ciтеперь будет указывать на команду cls .

В оболочке 4DOS / 4NT команда esetпредоставляет интерактивную командную строку для редактирования существующего псевдонима:

eset / a cp

/ aвызывает редактирование псевдонима cp, в отличие от переменной среды с тем же именем.

Удаление псевдонимов

В оболочках Unix и 4DOS / 4NT псевдонимы можно удалить, выполнив команду unalias:

unalias copy # Удаляет псевдоним копии unalias - a # Ключ -a удаляет все псевдонимы; недоступно в 4DOS / 4NT

unalias * # 4DOS / 4NT эквивалент ʻunalias -a` - подстановочные знаки поддерживаются В Windows PowerShell псевдоним можно удалить с диска alias: \ с помощью remove-item:

remove-item alias: ci # Удаляет псевдоним ci
Features

Chaining

Псевдоним обычно заменяет только первое слово. Но некоторые оболочки, такие как bashи ksh, позволяют заменять последовательность или слова. Эта особенность недоступна через функциональный механизм.

Обычный синтаксис - определить первый псевдоним с помощью символа пробела в конце. Например, используя два псевдонима:

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

разрешает:

list long myfile # становится "ls -Flas myfile" при запуске

для длинного списка, где "long" также оценивается как псевдоним.

Аргументы команды

В оболочке C аргументы могут быть встроены в команду с помощью строки \! *. Например, с этим псевдонимом:

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

ls-more / etc / usrзаменяется на ls / etc / usr | moreдля вывода содержимого каталогов / etc и / usr с паузой после каждого перехода на экран. Без \! *,

псевдоним ls-more 'ls | more '

вместо этого расширится до ls | more / etc / usr, который неправильно пытается открыть каталоги в more.

Оболочки Bash и Korn вместо этого используют функции оболочки - см. § Альтернативы ниже.

Альтернативы

Псевдонимы обычно должны быть простыми. Там, где это будет непросто, обычно рекомендуется использовать одно из следующих:

  • сценарии оболочки, которые, по сути, обеспечивают полную возможность создания новых системных команд.
  • Символьные ссылки в пользовательском PATH (например, /bin ). Этот метод полезен для обеспечения дополнительного способа вызова команды и в некоторых случаях может разрешить доступ к скрытой функции команды для небольшого числа команд, которые используют свое имя вызова для выбора режима работы.
  • Функции оболочки, особенно если создаваемой команде необходимо изменить внутреннюю среду выполнения самой оболочки (например, переменные среды ), необходимо изменить текущий рабочий каталог оболочки., или должен быть реализован таким образом, чтобы гарантировать, что они появятся в пути поиска команд для чего-либо, кроме интерактивной оболочки (особенно любой «безопасной» версии rm, cp, mvи т. Д.).

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

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

Чтобы функция не вызывала себя рекурсивно, используйте command :

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

В старых оболочках Bourne используйте / bin / lsвместо command ls.

Ссылки
Дополнительная литература
Внешние ссылки
В Викибуке Руководство по Unix есть страница по темам: Команды
Последняя правка сделана 2021-06-10 23:06:23
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте