PowerShell для Linux-пользователей

12 декабря 2018

При переходе с bash (который привычен всем Linux-пользователям) на PowerShell частенько возникают трудности даже при написании простейших сценариев. Общий синтаксис и основы PowerShell описаны в официальной документации и множестве других статей, которые без проблем можно найти в Интернете. В этой статье мы сконцентрируемся именно на переходе с bash на PowerShell, а не на описании основ последнего.

Помним о долларе

В bash для объявления переменной достаточно присвоить ей значение, например, max=100. В PowerShell, подобно PHP, нужно перед именем переменной поставить знак доллара: $max=100. Забывать о нем нельзя, иначе PowerShell не будет считать объявление переменной и сообщит об ошибке.

Форматирование вывода

Можно использовать универсальную команду echo, но это не интересно, тем более, что в PowerShell есть средства форматирования вывода — вывод можно даже разукрасить:

Write-Host (1,2,3,4,5,6) -Separator "->" —ForegroundColor Green - BackgroundColor White

Здесь мы выводим значения 1, 2, 3, 4, 5 и 6 с использованием разделителя «->», фон — белый, цвет шрифта — зеленый.

1.png

Форматирование вывода в PowerShell

Операторы сравнения

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

Таблица 1. Операторы сравнения

Аргумент Тип Описание
eq Equal Равно
ne Not equal Не равно
ge Greater than or equal Больше или равно
gt Greater than Больше
lt Less than Меньше
le Less than or equal Меньше или равно
like Wildcard comparison Позволяет использовать подстановки для поиска соответствия образцу.
Пример: "index.php" -like "i*.ph?"
notlike Wildcard comparison Зде