Các chữ boolean trong PowerShell là gì?
Các chữ boolean trong PowerShell là gì?
Câu trả lời:
$true
và $false
.
Đó là những hằng số, mặc dù. Không có ngôn ngữ cấp độ ngôn ngữ cho booleans.
Tùy thuộc vào nơi bạn cần chúng, bạn cũng có thể sử dụng bất cứ thứ gì ép buộc với giá trị boolean, nếu kiểu đó phải là boolean, ví dụ như trong các lệnh gọi phương thức yêu cầu boolean (và không có quá tải xung đột) hoặc các câu lệnh điều kiện. Hầu hết các đối tượng không null là đúng, ví dụ. null
, chuỗi rỗng, mảng trống và số 0
là sai.
[bool]1
và [bool]0
cũng hoạt động.
if ($s.Length) { ... }
là hoàn toàn tốt, ví dụ.
Để thêm thông tin vào các câu trả lời đã có : Chữ boolean $true
và $false
cũng hoạt động như khi được sử dụng làm tham số dòng lệnh cho tập lệnh PowerShell (PS). Đối với tập lệnh PS bên dưới được lưu trữ trong một tệp có tên installmyapp.ps1
:
param (
[bool]$cleanuprequired
)
echo "Batch file starting execution."
Bây giờ nếu tôi gọi tệp PS này từ dòng lệnh PS, đây là cách tôi có thể thực hiện:
installmyapp.ps1 -cleanuprequired $true
HOẶC LÀ
installmyapp.ps1 -cleanuprequired 1
Ở đây 1
và $true
là tương đương. Ngoài ra, 0
và $false
là tương đương.
Lưu ý : Không bao giờ mong đợi rằng chuỗi ký tự true
có thể được tự động chuyển đổi thành boolean. Ví dụ: nếu tôi chạy lệnh dưới đây:
installmyapp.ps1 -cleanuprequired true
nó không thực thi được đoạn script với lỗi dưới đây:
Không thể chuyển đổi đối số quy trình trên tham số 'dọn dẹp yêu cầu'. Không thể chuyển đổi giá trị "System.String" để gõ "System.Boolean". Các tham số Boolean chỉ chấp nhận các giá trị và số Boolean, chẳng hạn như $ True, $ false, 1 hoặc 0.