ตัวแปรสภาพแวดล้อม Perl

Tawpaer Sphaph Waedlxm Perl



ตัวแปรสองประเภทสามารถใช้ในภาษาสคริปต์เชลล์ได้: ประเภทแรกคือตัวแปรเชลล์ และอีกประเภทคือตัวแปรสภาพแวดล้อม ตัวแปรสภาพแวดล้อมทำงานเป็นตัวแปรร่วมสำหรับภาษาสคริปต์ ข้อมูลที่เกี่ยวข้องกับสภาพแวดล้อมที่ใช้ในการรันสคริปต์จะถูกจัดเก็บไว้ในตัวแปรสภาพแวดล้อม ตัวแปรเหล่านี้จะถูกจัดเก็บตามคู่คีย์-ค่า ชื่อของตัวแปรถูกกำหนดโดยคีย์ที่เก็บค่าของตัวแปร ค่าของตัวแปรสภาพแวดล้อมสามารถตั้งค่าหรือเข้าถึงได้โดยสคริปต์ Perl วิธีการเข้าถึงและแก้ไขตัวแปรสภาพแวดล้อมโดยใช้สคริปต์ Perl จะแสดงอยู่ในบทช่วยสอนนี้

การใช้ตัวแปรสภาพแวดล้อมในสคริปต์ Perl

วิธีการเข้าถึงตัวแปรสภาพแวดล้อมเฉพาะหรือทั้งหมดและการรีเซ็ตตัวแปรสภาพแวดล้อมจะแสดงในส่วนนี้ของบทช่วยสอน







ตัวอย่างที่ 1: พิมพ์ตัวแปรสภาพแวดล้อมเฉพาะ



ตัวแปรสภาพแวดล้อมจะถูกจัดเก็บไว้ในอาร์เรย์ %ENV ที่ทำงานเหมือนกับอาร์เรย์ที่เชื่อมโยง ชื่อตัวแปรคือคีย์ของอาร์เรย์ %ENV และค่าจะถูกจัดเก็บไว้ในคีย์นั้น สร้างไฟล์ Perl ด้วยสคริปต์ต่อไปนี้ที่พิมพ์ตัวแปรสภาพแวดล้อมสามตัว ชื่อผู้ใช้สำหรับเข้าสู่ระบบปัจจุบันถูกจัดเก็บไว้ในตัวแปร $ENV{'USER'} ค่าเชลล์ปัจจุบันถูกเก็บไว้ในตัวแปร $ENV{'SHELL'} ไดเร็กทอรีการทำงานปัจจุบันถูกจัดเก็บไว้ในตัวแปร $ENV{'PWD'} ตัวแปรทั้งสามนี้มีการเข้าถึงและพิมพ์ในสคริปต์



#!/local/bin/perl

ใช้อย่างเข้มงวด
ใช้คำเตือน
ใช้ 5.34.0;

#พิมพ์ค่าของตัวแปรสภาพแวดล้อมสามตัว
พูด 'ชื่อผู้ใช้คือ' . $ENV { 'ผู้ใช้' } ;
พูด “เชลล์ปัจจุบันคือ” . $ENV { 'เปลือก' } ;
พูด 'ไดเร็กทอรีการทำงานปัจจุบันคือ' . $ENV { 'สวพ.' } ;





เอาท์พุท:

ผลลัพธ์ที่คล้ายกันต่อไปนี้ปรากฏขึ้นหลังจากรันสคริปต์:



ตัวอย่างที่ 2: พิมพ์ตัวแปรสภาพแวดล้อมห้าตัวแรก

สร้างไฟล์ Perl ด้วยสคริปต์ต่อไปนี้เพื่ออ่านค่าห้าค่าแรกของอาร์เรย์ %ENV ที่มีตัวแปรสภาพแวดล้อมทั้งหมด ในที่นี้ ลูป “foreach” ใช้เพื่ออ่านตัวแปรสภาพแวดล้อมทั้งหมดตามค่าคีย์ที่เรียงลำดับ ตัวแปร “$counter” ถูกใช้ในสคริปต์เพื่อยุติการวนซ้ำหลังจากพิมพ์ตัวแปรสภาพแวดล้อมทั้งห้าตัว ตัวแปร “$counter” จะเพิ่มขึ้นในการวนซ้ำแต่ละครั้งของลูป และเมื่อค่าของ “$counter” เท่ากับ 5 คำสั่ง “last” จะถูกดำเนินการเพื่อออกจากลูป

#!/local/bin/perl

ใช้อย่างเข้มงวด
ใช้คำเตือน
ใช้ 5.34.0;

#เริ่มต้นเคาน์เตอร์
ของฉัน $เคาน์เตอร์ = 0 ;
#วนซ้ำเพื่ออ่านตัวแปรสภาพแวดล้อมทั้งหมด
แต่ละ ( เรียงลำดับ กุญแจ % อีเอ็นวี ) {
#อ่านชื่อตัวแปรสภาพแวดล้อม
ของฉัน $คีย์ = $_ ;
#อ่านค่าของตัวแปรสภาพแวดล้อม
ของฉัน $value = $ENV { $คีย์ } ;
#พิมพ์ชื่อตัวแปรพร้อมค่า
พูด ' $คีย์ => $value ' ;
#เพิ่มเคาน์เตอร์
$เคาน์เตอร์ ++;
#ตรวจสอบมูลค่าเคาน์เตอร์
ถ้า ( $เคาน์เตอร์ > = 5 )
{
#ยุติจากการวนซ้ำ
ล่าสุด ;
}
}

เอาท์พุท:

ผลลัพธ์ที่คล้ายกันต่อไปนี้ปรากฏขึ้นหลังจากรันสคริปต์:

ตัวอย่างที่ 3: รีเซ็ตตัวแปรสภาพแวดล้อม

ในตัวอย่างก่อนหน้านี้ มีการเข้าถึงค่าที่กำหนดไว้ล่วงหน้าของตัวแปรสภาพแวดล้อมทีละรายการและใช้การวนซ้ำ อย่างไรก็ตาม ค่าของตัวแปรสภาพแวดล้อมสามารถเปลี่ยนแปลงได้โดยใช้สคริปต์ Perl สร้างไฟล์ Perl ด้วยสคริปต์ต่อไปนี้เพื่อพิมพ์ตำแหน่งของ HOME เปลี่ยนตำแหน่งเป็น “/temp/files” และพิมพ์ตำแหน่งของ HOME อีกครั้งหลังจากการอัพเดต

#!/local/bin/perl

ใช้อย่างเข้มงวด
ใช้คำเตือน
ใช้ 5.34.0;


#พิมพ์ค่าของตัวแปรสภาพแวดล้อมเฉพาะ
พูด “มูลค่าปัจจุบันของ HOME คือ” . $ENV { 'บ้าน' } ;

#รีเซ็ตตัวแปรสภาพแวดล้อม
$ENV { 'บ้าน' } = '/อุณหภูมิ/ไฟล์' ;

#พิมพ์ค่าของตัวแปรสภาพแวดล้อมเฉพาะหลังจากการอัพเดต
พูด “มูลค่าปัจจุบันของ HOME คือ” . $ENV { 'บ้าน' } ;

เอาท์พุท:

ผลลัพธ์ที่คล้ายกันต่อไปนี้ปรากฏขึ้นหลังจากรันสคริปต์:

ตัวอย่างที่ 4: พิมพ์ตัวแปรสภาพแวดล้อมด้วยการจัดรูปแบบ

สร้างไฟล์ Perl ด้วยสคริปต์ต่อไปนี้ที่จะพิมพ์ตัวแปรสภาพแวดล้อมด้วยการจัดรูปแบบโดยใช้ฟังก์ชัน printf() ในที่นี้ ลูป 'foreach' ใช้เพื่ออ่านตัวแปรสภาพแวดล้อมทั้งหมดเหมือนในตัวอย่างก่อนหน้านี้ คู่คีย์-ค่าของตัวแปรสภาพแวดล้อมถูกพิมพ์โดยการเพิ่มเครื่องหมายทวิภาค (:) ระหว่างคีย์และค่า และรักษาช่องว่างไว้ 15 อักขระสำหรับคีย์

#!/local/bin/perl

ใช้อย่างเข้มงวด
ใช้คำเตือน
ใช้ 5.34.0;

#วนซ้ำเพื่ออ่านตัวแปรสภาพแวดล้อมทั้งหมด
กล่าวถึงฉัน $เค ( เรียงลำดับ กุญแจ % อีเอ็นวี ) {
#พิมพ์ผลลัพธ์ที่จัดรูปแบบของตัวแปรสภาพแวดล้อม
พิมพ์ฉ ( '%15s : %s \n ' , $เค , $ENV { $เค } ) ;
}

เอาท์พุท:

ผลลัพธ์ที่คล้ายกันต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์ บางส่วนที่จุดเริ่มต้นของผลลัพธ์จะแสดงอยู่ที่นี่:

บทสรุป

ตัวแปรสภาพแวดล้อมใช้เพื่อวัตถุประสงค์ที่แตกต่างกัน และบางครั้งจำเป็นต้องเปลี่ยนค่าปัจจุบันของตัวแปรสภาพแวดล้อมเฉพาะสำหรับวัตถุประสงค์ในการเขียนโปรแกรม วิธีการรับและตั้งค่าของตัวแปรสภาพแวดล้อมโดยใช้สคริปต์ Perl จะแสดงอยู่ในตัวอย่างของบทช่วยสอนนี้เพื่อช่วยเหลือผู้ใช้ Perl