При переходе с bash (который привычен всем
В bash для объявления переменной достаточно присвоить ей значение, например, max=100. В PowerShell, подобно PHP, нужно перед именем переменной поставить знак доллара: $max=100. Забывать о нем нельзя, иначе PowerShell не будет считать объявление переменной и сообщит об ошибке.
Можно использовать универсальную команду echo, но это не интересно, тем более, что в PowerShell есть средства форматирования вывода — вывод можно даже разукрасить:
Здесь мы выводим значения 1, 2, 3, 4, 5 и 6 с использованием разделителя «->», фон — белый, цвет шрифта — зеленый.
Форматирование вывода в PowerShell
Следующий момент, на который нужно обратить внимание — операторы сравнения. Некоторые из них такие же, как в 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 |
Здесь символы подстановки используются для поиска несоответствия образцу. Пример: "index.php" -notlike "p*.php" |
match | Regular expression comparison | Использование регулярных выражений для поиска соответствия образцу |
notmatch | Regular expression comparison | Использование регулярных выражений для поиска несоответствия образцу |
replace | Replace operator | Заменяет часть или все значение слева от оператора |
contains | Containment operator |
Позволяет определить, содержит ли значение слева от оператора значение справа. В отличие от предыдущих операторов результатом является логическое значение. Пример: 1,2,3 -contains 1 |
notcontains | Containment operator |
Позволяет определить, что значение слева от оператора не содержит значения справа. Результат — логическое значение. Пример: 1,2,3 -notcontains 4 |
Также можно использовать стандартные логические операторы and, or, xor, not и!. Примеры:
(1 -eq 1) -and (2 -eq 2)
(1 -eq 1) -or (1 -eq 2)
-not (1 -eq 2)
Для типов можно использовать операторы сравнения is (является типом), isnot (не является типом), as (используется для преобразования).
Дополнительную информацию можно получить по ссылке.
В bash хорошо программисту тем, что он может использовать стандартные утилиты командной строки Linux, которые не являются, по сути, частью bash, но очень часто используются во всевозможных сценариях.
Таблица 2. Эквиваленты утилитам командной строки
Команда Linux | Команда PowerShell |
---|---|
cd | cd или Set-Location <путь> |
ls | Get-ChildItem <путь> |
mkdir | New-Item -ItemType Directory -Name 'имя_каталога' |
touch | New-Item -ItemType "file" -Path "<путь>\<имя>" |
cp | Copy-Item -Path <исходный_путь> -Destination <назначение> |
rm | Remove-Item <имя> |
find | Get-ChildItem <параметры> |
tail | Get-Content <файл> -TotalCount <к-во строк> |
grep | аналога нет |
uname | $Properties = 'Caption', 'CSName', 'Version', 'BuildType', 'OSArchitecture' Get-CimInstance Win32_OperatingSystem | Select-Object $Properties | Format-Table –AutoSize |
ping | TestConnection <имя узла> |
cut | Get-ChildItem $env:USERPROFILE -Filter "*.txt" |
man | Get-Help <имя команды> |
clear | cls |
cat | Get-Content –Path <Имя_файла> |
Рассмотрим данные команды подробнее. Команда
Команда
Она покажет, что содержит корневой каталог диска Е:. Отсортировать по времени последнего изменения можно так:
Команда
Команду
Данная команда создает подкаталог bar в каталоге C:\foo. Аналогично, эту же команду можно использовать и для создания файла:
Для копирования файла используется команда
Прелесть команды
Команда
Команду
Здесь мы ищем все текстовые файлы, глубина поиска задана тремя уровнями, исключаем из результатов все, что содержит строку server в имени.
Вместо команды cat для вывода содержимого файла можно использовать команду
Также эту команду можно использовать вместо tail, задав параметр TotalCount:
Для получения справки об интересующей вас команде можно использовать
На этом все. Надеемся, что данный материал помог хоть