Какие логические литералы в PowerShell?
powershell
Полковник паника
источник
источник
Ответы:
$true
и$false
.Это постоянные, хотя. Нет литералов уровня языка для логических значений.
В зависимости от того, где они необходимы, вы можете также использовать что - нибудь , что принуждает к логическому значению, если тип должен быть логическое значение, например , в вызовах методов , которые требуют булевых (и не имеют противоречивые перегрузок) или условные оператор. Например, большинство ненулевых объектов имеют значение true.
null
пустые строки, пустые массивы и число0
ложно.источник
[bool]1
а[bool]0
также работает.источник
if ($s.Length) { ... }
прекрасно, например.Чтобы добавить больше информации к уже существующим ответам : логические литералы,
$true
а$false
также работают как есть, когда используются в качестве параметров командной строки для сценариев PowerShell (PS). Для приведенного ниже сценария PS, который хранится в файле с именемinstallmyapp.ps1
:Теперь, если мне нужно вызвать этот файл PS из командной строки PS, вот как я могу это сделать:
ИЛИ
Здесь
1
и$true
эквивалентны. Также0
и$false
эквивалентны.Примечание . Никогда не ожидайте, что строковый литерал
true
может быть автоматически преобразован в логический. Например, если я запускаю следующую команду:он не может выполнить скрипт с ошибкой ниже:
источник