จะตรวจสอบว่าตัวแปรเป็น Null ใน PowerShell ได้อย่างไร
เมื่อเร็วๆ นี้ สมาชิกคนหนึ่งของฉันถามฉันเกี่ยวกับการตรวจสอบว่าตัวแปรใน PowerShell เป็นโมฆะหรือไม่ นี่เป็นข้อกำหนดทั่วไปหากคุณทำงานกับ PowerShell ในบทช่วยสอนนี้ ฉันจะอธิบายวิธีการต่างๆ เพื่อตรวจสอบว่าตัวแปรเป็นค่าว่างใน PowerShell หรือไม่ พร้อมด้วยตัวอย่างและสคริปต์ที่สมบูรณ์
ในการตรวจสอบว่าตัวแปรเป็นค่าว่างใน PowerShell หรือไม่ คุณสามารถใช้ตัวดำเนินการ -eq (เท่ากับ) ตัวอย่างเช่น หากคุณมีตัวแปร $variable คุณสามารถเขียน:
if ($variable -eq $null) {
Write-Output "The variable is null."
} else {
Write-Output "The variable is not null."
}เมธอดนี้จะเปรียบเทียบตัวแปรโดยตรงกับ $null และส่งออกว่าเป็นค่าว่างหรือไม่
Null ใน PowerShell คืออะไร
ใน PowerShell นั้น $null แสดงถึงการไม่มีค่าหรือค่าที่ไม่ได้กำหนด มันคล้ายกับ null ในภาษาการเขียนโปรแกรมอื่นๆ เช่น C# หรือ JavaScript เมื่อกำหนดตัวแปร $null หมายความว่าตัวแปรนั้นไม่มีข้อมูลใดๆ
ตรวจสอบว่าตัวแปรเป็น Null ใน PowerShell หรือไม่
ตอนนี้ให้เราตรวจสอบวิธีการทั้งหมดเพื่อตรวจสอบว่าตัวแปรเป็นโมฆะใน PowerShell หรือไม่
1. การตรวจสอบ Null ขั้นพื้นฐาน
วิธีที่ตรงไปตรงมาที่สุดในการตรวจสอบว่าตัวแปรเป็นค่าว่างใน PowerShell หรือไม่คือการใช้ตัวดำเนินการ -eq (เท่ากับ) นี่คือตัวอย่าง
$variable = $null
if ($variable -eq $null) {
Write-Output "The variable is null."
} else {
Write-Output "The variable is not null."
}ในตัวอย่างนี้ เนื่องจาก $variable ได้รับการกำหนดเป็น $null เงื่อนไข $variable -eq $null จึงประเมินเป็น True > และสคริปต์เอาต์พุต “ตัวแปรเป็นโมฆะ”
ผลลัพธ์อยู่ในภาพหน้าจอด้านล่าง ฉันรันสคริปต์ด้านบนโดยใช้รหัส VS
ตรวจสอบตัวแปรส่วนกลางของ PowerShell
2. การใช้ตัวดำเนินการ -ne
ใน PowerShell คุณยังสามารถใช้ตัวดำเนินการ -ne (ไม่เท่ากัน) เพื่อตรวจสอบว่าตัวแปรไม่เป็นค่าว่างหรือไม่ นี่เป็นอีกวิธีในการตรวจสอบว่าตัวแปรเป็นโมฆะใน PowerShell หรือไม่ นี่คือตัวอย่างด้านล่าง:
$variable = "PowerShell"
if ($variable -ne $null) {
Write-Output "The variable is not null."
} else {
Write-Output "The variable is null."
}ในที่นี้ $variable เป็นสตริง ดังนั้นเงื่อนไข $variable -ne $null ประเมินเป็น True และสคริปต์ส่งออก “ตัวแปรคือ ไม่เป็นโมฆะ”
คุณสามารถดูผลลัพธ์ได้ในภาพหน้าจอด้านล่าง:
3. รวมการตรวจสอบสตริงว่างและสตริงว่าง
บางครั้ง คุณอาจต้องการตรวจสอบว่าตัวแปรเป็นค่าว่างหรือสตริงว่างใน PowerShell หรือไม่ สิ่งนี้มีประโยชน์อย่างยิ่งเมื่อต้องจัดการกับอินพุตของผู้ใช้หรือเส้นทางไฟล์ คุณสามารถรวมการตรวจสอบเหล่านี้ได้โดยใช้ตัวดำเนินการ -หรือ:
$variable = ""
if ($variable -eq $null -or $variable -eq "") {
Write-Output "The variable is either null or empty."
} else {
Write-Output "The variable is not null and not empty."
}
ในกรณีนี้ เนื่องจาก $variable เป็นสตริงว่าง เงื่อนไข $variable -eq $null -or $variable -eq "" จึงประเมินเป็น True และสคริปต์ส่งออก "ตัวแปรเป็นโมฆะหรือว่างเปล่า"
4. ใช้วิธี IsNullOrEmpty
PowerShell มีเมธอด IsNullOrEmpty() วิธีคงที่จากคลาส [string] เพื่อตรวจสอบว่าสตริงเป็นโมฆะหรือว่างเปล่า
$variable = ""
if ([string]::IsNullOrEmpty($variable)) {
Write-Output "The variable is either null or empty."
} else {
Write-Output "The variable is not null and not empty."
}วิธีการนี้มีประโยชน์อย่างยิ่งเมื่อทำงานกับสตริง และทำให้แน่ใจว่าการตรวจสอบของคุณมีประสิทธิภาพและเข้าใจง่าย
5. ตัวดำเนินการ Null-Coalescing (PowerShell 7+)
เริ่มต้นจาก PowerShell 7 คุณสามารถใช้ตัวดำเนินการการรวมค่า Null ?? และ ??= เพื่อจัดการค่า Null ได้อย่างสวยงามยิ่งขึ้น ตัวดำเนินการ ?? จะส่งคืนค่าทางด้านขวาหากด้านซ้ายเป็นค่าว่าง
นี่คือสคริปต์ที่สมบูรณ์
$variable = $null
$default = "Default Value"
$result = $variable ?? $default
Write-Output $result # Outputs "Default Value"ตัวดำเนินการ ??= จะกำหนดค่าให้กับตัวแปรเฉพาะในกรณีที่เป็นโมฆะ:
$variable = $null
$variable ??= "Default Value"
Write-Output $variable # Outputs "Default Value"ตัวดำเนินการเหล่านี้ให้วิธีที่ทันสมัยมากขึ้นในการจัดการค่า Null ใน PowerShell
ตรวจสอบตัวแปรท้องถิ่นของ PowerShell
ตรวจสอบว่าตัวแปรเป็น Null ใน PowerShell หรือไม่: ตัวอย่างในโลกแห่งความเป็นจริง
ตอนนี้ ฉันจะแสดงตัวอย่างการใช้งานจริงใน PowerShell ให้คุณดูเพื่อตรวจสอบว่าตัวแปรมีค่าว่างหรือไม่
ตัวอย่างที่ 1: การตรวจสอบอินพุตของผู้ใช้
สมมติว่าคุณกำลังเขียนสคริปต์เพื่อรวบรวมข้อมูลของผู้ใช้สำหรับการสำรวจ คุณต้องการให้แน่ใจว่าอินพุตไม่เป็นโมฆะหรือว่างเปล่าก่อนที่จะประมวลผล จากนั้นคุณสามารถเขียนสคริปต์ได้ดังนี้:
$userInput = Read-Host "Enter your feedback"
if ([string]::IsNullOrEmpty($userInput)) {
Write-Output "Feedback cannot be empty. Please try again."
} else {
Write-Output "Thank you for your feedback!"
}
นี่คือผลลัพธ์ของสคริปต์ PowerShell ในภาพหน้าจอด้านล่าง:
ตัวอย่างที่ 2: การตรวจสอบความถูกต้องของเส้นทางไฟล์
ในสคริปต์ที่ประมวลผลไฟล์ คุณอาจต้องการตรวจสอบให้แน่ใจว่าเส้นทางไฟล์ที่ผู้ใช้ระบุไม่เป็นค่าว่างหรือว่างเปล่า คุณสามารถมีสคริปต์ PowerShell ได้ดังนี้:
$filePath = Read-Host "Enter the path to the file"
if ([string]::IsNullOrEmpty($filePath)) {
Write-Output "File path cannot be empty. Please provide a valid path."
} elseif (-Not (Test-Path $filePath)) {
Write-Output "File does not exist. Please check the path and try again."
} else {
Write-Output "Processing file: $filePath"
# Add file processing logic here
}บทสรุป
มี มีหลายสถานการณ์ใน PowerSนรกที่คุณอาจต้องตรวจสอบว่าตัวแปรเป็นโมฆะ เช่น การตรวจสอบอินพุตของผู้ใช้ การประมวลผลไฟล์ การจัดการการตั้งค่า ฯลฯ ในบทช่วยสอนนี้ ฉันได้อธิบายวิธีการต่างๆ ในการตรวจสอบว่าตัวแปรเป็นค่าว่างใน PowerShell หรือไม่ ฉันแนะนำให้ใช้-ne Operator สำหรับสิ่งนี้เสมอ


