Варіанти використання символу $ у PowerShell.
Символ $ (долар) досить часто застосовується в PowerShell. У сьогоднішній статті ми розглянемо деякі відомі і не дуже варіанти його використання.
$ (долар) - застосовується для позначення змінних, наприклад:
$ a = "Hello, world"
$$ (подвійний долар) - повертає закінчення останньої виконаної команди, а $ ^ (долар і кришка) - початок останньої виконаної команди.Як приклад виконаємо команду:
Write-Host $ a
Тепер якщо набрати $ ^, то отримаємо першу частину попередньої команди (Write-Host), а команда $$ видасть другу її частина ($ a).
$ _ (долар та нижнє підкреслювання) - застосовується для передачі значення при використанні конвеєра.Спеціальна змінна $ _ приймає поточне значення кожного об'єкта, переданого по конвеєру. Наприклад наступна команда просто виводить по черзі всі значення:
'one', 'two', 'three' | foreach {Write-Host $ _}
А такою командою ми відсортуємо і виведемо на екран запущені на комп'ютері процеси з Id менше 100:
Get-Process | where {$ _.Id -le 100}
$? (Долар і знак питання) - вбудована змінна, що зберігає статус виконання попередньої команди. Повертає True якщо команда була виконана успішно і False - якщо з помилкою.
$ () ( долар і круглі дужки) - застосовується для виділення подвираженія в рядку при використанні подвійних лапок.В цьому випадку вираз в дужках обробляється в першу чергу, наприклад:
$ a = 3
$ b = 2
"The sum is $ ($ a + $ b)"
І ще приклад:
$ process = Get-Process
"There are $ ($ process.Length) process running in my PC"
$ {} (долар і фігурні дужки) - дозволяє використовувати в імені змінної нестандартні символи.Наприклад:
$ {@, & # $>? = *} = "Hello, world"
Ще одна особливість цієї конструкції в тому, що якщо в імені присутній двокрапка (: ), то воно інтерпретується як шлях. Наприклад, якщо в якості імені змінної вказати шлях до файлу файл, то значення буде записано прямо в цей файл:
$ {C: \ Files \ file.txt} = "Hello, world"
Ну, мабуть все, більше варіантів використання $ я не знайшов. Пишіть, якщо знаєте ще якісь небудь нестандартні варіанти.
.