Biến môi trường Perl

Bien Moi Truong Perl



Hai loại biến có thể được sử dụng trong các ngôn ngữ kịch bản shell: một là biến shell và loại kia là biến môi trường. Các biến môi trường được coi là biến toàn cục cho các ngôn ngữ tập lệnh. Dữ liệu liên quan đến môi trường được sử dụng để thực thi tập lệnh được lưu trữ trong các biến môi trường. Các biến này được lưu trữ dựa trên cặp khóa-giá trị. Tên của biến được xác định bởi khóa lưu trữ giá trị của biến. Giá trị của bất kỳ biến môi trường nào đều có thể được đặt hoặc truy cập bằng tập lệnh Perl. Các phương pháp truy cập và sửa đổi các biến môi trường bằng tập lệnh Perl được trình bày trong hướng dẫn này.

Công dụng của các biến môi trường trong tập lệnh Perl

Các phương pháp truy cập vào một biến môi trường cụ thể hoặc tất cả các biến môi trường và đặt lại bất kỳ biến môi trường nào được trình bày trong phần hướng dẫn này.







Ví dụ 1: In các biến môi trường cụ thể



Các biến môi trường được lưu trữ trong mảng %ENV hoạt động giống như mảng kết hợp. Tên biến là khóa của mảng %ENV và giá trị được lưu trong khóa cụ thể đó. Tạo một tệp Perl với tập lệnh sau in ba biến môi trường. Tên người dùng đăng nhập hiện tại được lưu trữ trong biến $ENV{'USER'}. Giá trị shell hiện tại được lưu trữ trong biến $ENV{'SHELL'}. Thư mục làm việc hiện tại được lưu trữ trong biến $ENV{‘PWD’}. Ba biến này được truy cập và in trong tập lệnh.



#!/local/bin/perl

Sử dụng nghiêm ngặt;
sử dụng cảnh báo;
sử dụng 5.34.0;

#In giá trị của ba biến môi trường
nói 'Tên người dùng là' . $ENV { 'NGƯỜI DÙNG' } ;
nói 'Vỏ hiện tại là' . $ENV { 'VỎ BỌC' } ;
nói 'Thư mục làm việc hiện tại là' . $ENV { 'Khuyết tật' } ;





Đầu ra:

Đầu ra tương tự sau đây xuất hiện sau khi thực thi tập lệnh:



Ví dụ 2: In năm biến môi trường đầu tiên

Tạo tệp Perl với tập lệnh sau để đọc năm giá trị đầu tiên của mảng %ENV chứa tất cả các biến môi trường. Ở đây, vòng lặp “foreach” được sử dụng để đọc tất cả các biến môi trường dựa trên các giá trị khóa được sắp xếp. Biến “$counter” được sử dụng trong tập lệnh để kết thúc vòng lặp sau khi in năm biến môi trường. Biến “$counter” được tăng lên trong mỗi lần lặp của vòng lặp và khi giá trị của “$counter” là 5, câu lệnh “last” được thực thi để thoát khỏi vòng lặp.

#!/local/bin/perl

Sử dụng nghiêm ngặt;
sử dụng cảnh báo;
sử dụng 5.34.0;

#Khởi tạo bộ đếm
Của tôi quầy $ = 0 ;
#Lặp lại vòng lặp để đọc tất cả các biến môi trường
cho mỗi ( loại phím % ENV ) {
#Đọc tên biến môi trường
Của tôi phím $ = $_ ;
#Đọc giá trị của biến môi trường
Của tôi giá trị $ = $ENV { phím $ } ;
#In tên biến kèm giá trị
nói ' phím $ => giá trị $ ' ;
#Tăng bộ đếm
quầy $ ++;
#Kiểm tra giá trị bộ đếm
nếu như ( quầy $ > = 5 )
{
#Chấm dứt khỏi vòng lặp
cuối cùng ;
}
}

Đầu ra:

Đầu ra tương tự sau đây xuất hiện sau khi thực thi tập lệnh:

Ví dụ 3: Đặt lại biến môi trường

Trong các ví dụ trước, các giá trị được xác định trước của các biến môi trường được truy cập riêng lẻ và sử dụng vòng lặp. Tuy nhiên, giá trị của bất kỳ biến môi trường nào cũng có thể được thay đổi bằng tập lệnh Perl. Tạo một tệp Perl với tập lệnh sau để in vị trí của HOME, thay đổi vị trí thành “/temp/files” và in lại vị trí của HOME sau khi cập nhật.

#!/local/bin/Perl

Sử dụng nghiêm ngặt;
sử dụng cảnh báo;
sử dụng 5.34.0;


#In giá trị của biến môi trường cụ thể
nói 'Giá trị hiện tại của HOME là ' . $ENV { 'TRANG CHỦ' } ;

#Đặt lại biến môi trường
$ENV { 'TRANG CHỦ' } = '/temp/tập tin' ;

#In giá trị của biến môi trường cụ thể sau khi cập nhật
nói 'Giá trị hiện tại của HOME là ' . $ENV { 'TRANG CHỦ' } ;

Đầu ra:

Đầu ra tương tự sau đây xuất hiện sau khi thực thi tập lệnh:

Ví dụ 4: In biến môi trường có định dạng

Tạo một tệp Perl với tập lệnh sau để in các biến môi trường có định dạng bằng hàm printf(). Ở đây, vòng lặp “foreach” được sử dụng để đọc tất cả các biến môi trường như trong ví dụ trước. Cặp khóa-giá trị của biến môi trường được in bằng cách thêm dấu hai chấm (:) giữa khóa và giá trị, đồng thời giữ khoảng trắng 15 ký tự cho khóa.

#!/local/bin/perl

Sử dụng nghiêm ngặt;
sử dụng cảnh báo;
sử dụng 5.34.0;

#Lặp lại vòng lặp để đọc tất cả các biến môi trường
giảng dạy của tôi $k ( loại phím % ENV ) {
#In đầu ra được định dạng của các biến môi trường
printf ( '%15s : %s \N ' , $k , $ENV { $k } ) ;
}

Đầu ra:

Đầu ra tương tự sau đây xuất hiện sau khi thực thi tập lệnh. Một số phần ở đầu đầu ra được hiển thị ở đây:

Phần kết luận

Các biến môi trường được sử dụng cho các mục đích khác nhau và đôi khi cần phải thay đổi giá trị hiện tại của biến môi trường cụ thể cho bất kỳ mục đích lập trình nào. Các phương pháp lấy và đặt giá trị của các biến môi trường bằng tập lệnh Perl được hiển thị trong các ví dụ của hướng dẫn này để trợ giúp người dùng Perl.