Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

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

История [ править ]

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

Использование [ править ]

Создание псевдонимов [ править ]

Unix [ править ]

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

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

Оболочка C [ править ]

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

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

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

4DOS [ править ]

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

псевдоним cp copy

Windows PowerShell [ править ]

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

новый псевдоним  ci  copy-item

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

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

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

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

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

Переопределение псевдонимов [ править ]

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

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

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

'ls'

или же

\ ls

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

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

Звездочка во втором экземпляре dirвызывает вызов unaliased dir, предотвращая рекурсивное расширение псевдонима. Также пользователь может получить неэлисинговое поведение 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 * # 4DOS / 4NT эквивалент `unalias -a` - поддерживаются подстановочные знаки

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

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

Особенности [ править ]

Цепочка [ править ]

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

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

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

позволяет:

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

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

Аргументы команды [ править ]

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

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

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

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

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

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

Альтернативы [ править ]

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

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

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

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

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

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

В старых оболочках Bourne /bin/lsвместо command ls.

Ссылки [ править ]

  1. ^ «Краткий справочник по AmigaDOS: Рюгхаймер, Ханнес: Бесплатная загрузка, заимствование и потоковая передача: Интернет-архив» . Интернет-архив . 2020-06-10 . Проверено 12 сентября 2020 .
  2. ^ «Оболочки EFI и сценарии» . Intel . Проверено 25 сентября 2013 .
  3. ^ IBM . «Qshell для программирования IBM System i версии 7.2» (PDF) . Проверено 5 сентября 2020 .
  4. ^ Примеры передачи аргументов для псевдонима команды. Архивировано 25 ноября 2012 г. на Wayback Machine.

Дальнейшее чтение [ править ]

  • Макэлхерн, Кирк (2006). Командная строка Mac OS X: Unix под капотом . Джон Вили и сыновья . ISBN 978-0470113851.

Внешние ссылки [ править ]

  • alias: определить или отобразить псевдонимы - Справочник по командам и служебным программам, Спецификация Single UNIX , Выпуск 7 от The Open Group
  • Страница руководства bash для псевдонима
  • Команда псевдонима от Linux Information Project (LINFO)