บูลีนตัวอักษรใน PowerShell คืออะไร
บูลีนตัวอักษรใน PowerShell คืออะไร
คำตอบ:
$true
$false
และ
นั่นคือค่าคงที่ ไม่มีตัวอักษรระดับภาษาสำหรับบูลีน
ขึ้นอยู่กับที่คุณต้องการนอกจากนี้คุณยังสามารถใช้สิ่งที่coercesเป็นค่าบูลีนถ้าประเภทจะต้องมีบูลเช่นในการเรียกวิธีการที่จำเป็นต้องมีบูล (และไม่มีการโอเวอร์โหลดที่ขัดแย้งกัน) หรืองบเงื่อนไข ตัวอย่างวัตถุที่ไม่เป็นโมฆะส่วนใหญ่เป็นจริงเช่น null
สตริงว่างอาร์เรย์ว่างเปล่าและจำนวน0
เป็นเท็จ
[bool]1
และ[bool]0
ยังใช้งานได้
if ($s.Length) { ... }
ยกตัวอย่างเช่น
ในการเพิ่มข้อมูลเพิ่มเติมให้กับคำตอบที่มีอยู่แล้ว : ตัวอักษรบูลีน$true
และ$false
ทำงานเหมือนเดิมเมื่อใช้เป็นพารามิเตอร์บรรทัดคำสั่งสำหรับสคริปต์ PowerShell (PS) สำหรับสคริปต์ PS ด้านล่างซึ่งจัดเก็บในไฟล์ชื่อinstallmyapp.ps1
:
param (
[bool]$cleanuprequired
)
echo "Batch file starting execution."
ตอนนี้ถ้าฉันจะเรียกไฟล์ PS นี้จากบรรทัดคำสั่ง PS นี่คือวิธีที่ฉันสามารถทำได้:
installmyapp.ps1 -cleanuprequired $true
หรือ
installmyapp.ps1 -cleanuprequired 1
ที่นี่1
และ $true
เทียบเท่า นอกจากนี้0
และ $false
ยังเทียบเท่า
หมายเหตุ : อย่าคาดหวังว่าตัวอักษรสตริงtrue
จะถูกแปลงเป็นบูลีนโดยอัตโนมัติ ตัวอย่างเช่นถ้าฉันใช้คำสั่งด้านล่าง:
installmyapp.ps1 -cleanuprequired true
มันไม่สามารถรันสคริปต์โดยมีข้อผิดพลาดด้านล่าง:
ไม่สามารถประมวลผลการแปลงอาร์กิวเมนต์ในพารามิเตอร์ 'cleanuprequired' ไม่สามารถแปลงค่า "System.String" เป็นประเภท "System.Boolean" พารามิเตอร์บูลีนยอมรับเฉพาะค่าบูลีนและตัวเลขเช่น $ True, $ False, 1 หรือ 0