Nội dung: các lớp biến của Shell, cách truyền biến cho tiến trình.
10.1 Môi trường
Môi trường của Shell chứa một số biến định nghĩa trước. Lệnh set cho phép liệt kê danh sách các biến của môi trường (định nghĩa trước hoặc khi làm việc).
$set
10.2 Các biến định nghĩa trước
Dưới đây là danh sách các biến định nghĩa trước thường có: HOME chứa tên thư mục tiếp nhận LOGNAME tên người sử dụng
PATH tên đường dẫn cho các lệnh
PS1 dấu nhắc thứ nhất
PS2 dấu nhắc thứ hai
TERM kiểu terminal
IFS danh sách các dấu phân cách (seperator) FCEDIT EDITOR chương trình soạn thảo nhật ký (history) PPID số của tiến trình cha của Shell
PWD thư mục hiện hành
SHELL tên Shell đang dùng
RANDOM số ngẫu nhiên
SECONDS thời gian làm việc tính theo giây
10.3 Các biến chung (common)
10.3.1 Biến xuất
Shell không tự thực hiện các lệnh ta đưa vào mà tạo ra một shell con để thực hiện các lệnh đó. Do đó các tiến trình con không biết đến các biến ta dùng trong shell. Để một biến của một tiến trình có thể dùng chung cho mọi tiến trình con của nó, ta phải xuất (export) nó thành biến dùng chung bằng cách dùng lệnh export
$var=18
$export var
Chú ý:
- không có khái niệm nhập (import).
- Một biến xuất khi bị thay đổi giá trị trong tiến trình con vẫn giữ nguyên giá trị trong tiến trình cha.
Các biến xuất có thể liệt kê bằng dùng lệnh: $env
10.3.2 Thực hiện một shell_script trong shell cha:
Thực hiện một shell_script trong shell cha cho phép nó thừa kế sử dụng toàn bộ môi trường của shell cha:
Thí dụ:
$cat proc echo $var
$VAR= ok định nghĩa biến var trong shell
$proc một shell con được tạo ra và nó không hiểu biến VAR
$.proc shell tự thực hiện lệnh mà không tạo shell con, biến VAR có trong môi trường của nó.