stringtranslate.com

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

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

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

История

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

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

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

Распространенные оболочки Unix

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

псевдоним gc = 'git commit' 

оболочка C

Соответствующий синтаксис в оболочке C или tcsh выглядит следующим образом:

псевдоним gc "git commit"

Этот псевдоним означает, что при чтении команды gcв оболочке она будет заменена на git commitи вместо нее будет выполнена эта команда.

4DOS

cpВ оболочке 4DOS/4NT для определения псевдонима для команды 4DOS используется следующий синтаксис copy:

псевдоним cp копия

Windows PowerShell

Чтобы создать новый псевдоним в Windows PowerShell, new-aliasможно использовать командлет:

новый-алиас  ci  копировать-элемент

Это создаст новый псевдоним с именем ci, который будет заменен командлетом copy-itemпри выполнении.

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

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

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

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

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

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

псевдоним ls = 'ls -la' 

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

'лс'

или

\лс

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

псевдоним dir = *dir /2/p

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

*реж.

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

В Windows PowerShell этот 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 * # Эквивалент `unalias -a` в 4DOS/4NT - поддерживаются подстановочные знаки     

В Windows PowerShell псевдоним можно удалить с диска alias:\ с помощью remove-item:

remove-item  alias : ci  # Удаляет алиас ci

Функции

Цепочка

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

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

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

позволяет:

список  длинных  myfile # становится "ls -Flas myfile" при запуске 

для длинного списка, где «long» также рассматривается как псевдоним.

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

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

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

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

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

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

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

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

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

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

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

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

ls () { команда ls --color = auto " $@ " ; }        

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

Ссылки

  1. ^ Rugheimer, Hannes (2020-06-10). Краткая справка по AmigaDOS: Rügheimer, Hannes: Бесплатная загрузка, заимствование и потоковая передача: Интернет-архив. ISBN 9781557550491. Получено 12 сентября 2020 г. – через интернет-архив.
  2. ^ "EFI Shells and Scripting". Intel . Получено 2013-09-25 .
  3. ^ IBM . "IBM System i Version 7.2 Programming Qshell" (PDF) . IBM . Получено 2020-09-05 .
  4. ^ "Примеры передачи аргументов, заданных псевдониму команды". UNIXhelp . Эдинбургский университет . Архивировано из оригинала 2012-11-25.

Дальнейшее чтение

Внешние ссылки