Алиасы Powershell

Алиасы Powershell это сокращение дающие возможность выполнять команды, используя другие, не настоящие команды, являющиеся как-бы ссылками на оригинальные.

Наткнулся на одного блогера, который использовал интересную команду. Странно почему я раньше их не замечал.

Алиасы Powershell
Алиасы Powershell Алиас (англ. Alias) — в буквальном переводе означает «прозвище, кличка».

Первый Алиас

В скриптах часто приходится использовать“Where-Object”.

Например:

Get-ChildItem -Path D:\ -Recurse | Where-Object { $_.PSIsContainer }

Вместо “Where-Object” можно использовать алиас-powershell “?” (знак вопроса). Вышеупомянутый скрипт в этом случае приобретает следующий вид:

Get-ChildItem -Path D:\ -Recurse | ? { $_.PSIsContainer }

Обе эти записи абсолютно идентичны.

Второй Алиас

Второй алиас-powershell – это “%” знак процента. Он используется вместо “ForEach-Object” и “foreach”. Следующие три строки так же будут абсолютно идентичны.

  1. Get-ChildItem -Path d:\ -Recurse | ? { $_.PSIsContainer } | ForEach-Object {$_}

  2. Get-ChildItem -Path d:\ -Recurse | ? { $_.PSIsContainer } | foreach {$_}

  3. Get-ChildItem -Path d:\ -Recurse | ? { $_.PSIsContainer } | % {$_}

Список алиасов можно получить командлетом Get-Alias.

Еще один Алиас

А еще вместо логического оператора -not можно использовать оператор алиас-powershell  “!” (восклицательный знак). В этом случае две нижеследующие записи будут идентичны.

  1. Get-ChildItem -Path D:\ -Recurse | Where-Object { -not $_.PSIsContainer }

  2. Get-ChildItem -Path D:\ -Recurse | Where-Object { ! $_.PSIsContainer }

P.P.S

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

Но если скрипт большой, в много строк, то Where-Object всё же читается лучше, чем непривычные знаки. Тем более, что в разных языках программирования подобные знаки имеют разные значения и порой приходится напрягаться, чтобы вспомнить их значение в данном конкретном случае.

Рекомендую к прочтению TCP Port Ping с помощью PowerShell

Nzario

Я — Nazario, ведущий автор на guid.su, специализируюсь на информационных технологиях с акцентом на системное администрирование Linux и Windows, веб-разработку и настройку раздичных систем. Мои глубокие знания и обширный практический опыт в этих сферах позволяют мне создавать детальные руководства и учебные материалы, ценные для пользователей всех уровней.

Я стремлюсь делать сложные темы доступными и понятными, надеюсь что мой вклад в сообщество IT будет оценен по достоинству.

Моя работа направлена на образование и распространение знаний в области информационных технологий, помогая другим расширять свои возможности и углублять понимание современных технологий.

Guid: Linux и Windows
Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.