Что означает%, $ _ и @ в Powershell? - PullRequest
0 голосов
/ 03 июля 2019

Что это значит: $_ и % в Powershell?

1..10 | Foreach {if($_%2){"$_ is odd number"}}

1 Ответ

8 голосов
/ 03 июля 2019
  • %
    • В вашем случае это оператор модуля. Он вернет остаток от деления левого значения на правое значение.
    • По умолчанию используется псевдоним PowerShell для Foreach-Object. Вы можете выполнить команду Get-Alias, чтобы увидеть другие потенциальные псевдонимы, которые могут содержать специальные символы, такие как псевдоним Where-Object ?.

  • $_
    • Синоним $PSItem
    • Содержит текущий объект в объекте конвейера
    • В вашем случае это текущий объект, переданный в ваш блок сценария Foreach-Object ({}).
    • Обычно он отображается в блоке сценариев Where-Object {} и хеш-таблицах Select-Object.

  • @

    • Буквальный @ символ
    • обозначает брызги
      • Синтаксис @VariableName. Переменная может быть массивом или хеш-таблицей. Он обычно используется с хеш-таблицей или словарем, где свойство Name представляет имя параметра, а свойство value является значением этого параметра. Затем эта переменная разбивается на другую команду. Примером является Get-Process @Params.
    • Используется для объявления и инициализации массивов с помощью оператора подвыражения массива @().

      • Примерами являются $myArray = @() и $myArray = @("value1","value2").
    • Используется для создания и / или инициализации хеш-таблицы
      • Синтаксис $variable = @{} или $variable = @{Property=Value}.
    • Используется в здесь-строки
      • Здесь строки представляют собой строки специального регистра, которые могут расширять несколько строк и содержать специальные символы
      • Обозначается началом строкового значения с @' или @" и закрытием строкового значения с соответствующим '@ или "@.
        • Символы открывания и закрывания этой строки должны быть изолированы на соответствующих строках правой стороны (RHS).
    • Общий символ
      • Используется при создании адреса электронной почты, т.е. user@domain.com.
      • Используется в синтаксисе удаленного входа во внешнюю программу, т.е. user@hostname.

Дополнительные материалы для чтения и заметные ссылки:

  1. См. Об арифметических операторах для получения информации о модуле среди других арифметических операторов.

  2. См. Foreach-Object для получения дополнительной информации о Foreach-Object и способах обработки объектов.

  3. См. О Splatting для получения дополнительной информации и использования сплаттинга.

  4. Другим хорошим ресурсом является Об автоматических переменных , в котором будут перечислены зарезервированные / автоматические переменные PowerShell. Они создаются и поддерживаются PowerShell. Вы заметите, что есть некоторые переменные, которые имеют не буквенные и не числовые символы. Вы должны использовать эти переменные только по их прямому назначению и не использовать их имена при создании собственных пользовательских переменных.

  5. Подробнее об операторе подвыражения массива см. Об массивах .

  6. См. О хеш-таблицах для получения подробной информации о создании и манипулировании объектами хеш-таблиц.

  7. См. О правилах цитирования , чтобы увидеть больше информации и примеры использования здесь-строк.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...