110
Bash
tham biến vị trí thì các bạn đã hiểu tại sao một biến môi trường không thể bắt
đầu bởi một chữ số.) Giá trị có thể là bất kỳ một dòng văn bản nào. Nếu giá trị
có chứa những ký tự đặc biệt, thì cần đặt nó (giá trị) vào dấu ngoặc. Giá trị tất
nhiên sẽ không chứa các dấu ngoặc này. Nếu một biến môi trưòng được xác định,
thì cũng có thể bị xóa bỏ bằng lệnh nội trú unset. Tập hợp tất cả các biến này
cùng với các giá trị đã gán cho chúng gọi là
môi trường (enviroment) của hệ vỏ.
Có thể xem nó (môi trường) nhờ lệnh set khi không có tham số (có thể cần dùng
đường ống “set | less”, nếu môi trường lớn, có nhiều biến). Để xem giá trị của
một biến môi trường cụ thể, thay vì dùng lệnh set (khi này cần tìm trong kết
quả của nó biến muốn xem), có thể sử dụng lệnh echo:
[user]$ echo $name
Trong đó, cần thay name bởi tên biến (như vậy, trong trường hợp này, bạn lại
cần phải biết tên của biến muốn xem). Trong số các biến, mà bạn sẽ thấy trong
kết quả của lệnh set, có những biến rất thú vị. Xin hãy chú ý đến, ví dụ, biến
RANDOM. Nếu thử chạy vài lần liên tiếp câu lệnh sau:
maikhai@fpt:/sw$ echo $RANDOM
thì mỗi lần bạn sẽ nhận được một giá trị mới. Nguyên nhân là vì biến này trả lại
một giá trị ngẫu nhiên
trong khoảng 0 - 32 768.
5.6.2
Dấu nhắc của hệ vỏ
Một trong các biến rất quan trọng có tên PS1. Biến này cho biết dạng của dấu
nhắc, mà bash đưa ra trong khi chờ người dùng nhập câu lệnh tiếp theo. Theo
mặc định thì biến này được gán giá trị “\s-\v\$ ”, tuy nhiên trên các bản phân
phối khác nhau thường có các script khởi động (hay script đăng nhập) xác định
lại biến này. Nói chung thì trong bash có tất cả bốn dấu nhắc, được sử dụng
trong các trường hợp khác nhau. Biến PS1 đưa ra dạng của dấu nhắc khi hệ vỏ
chờ nhập lệnh. Dấu nhắc thứ hai, xác định bởi biến PS2, xuất hiện khi hệ vỏ
chờ người dùng nhập thêm một vài dữ liệu cần thiết nào đó để có thể tiếp tục
chạy câu lệnh (chương trình) đã gọi. Theo mặc định biến PS2 có giá trị “>”. Rất
có thể bạn đã nhìn thấy dấu nhắc này, khi chạy lệnh cat để đưa dữ liệu vào
từ bàn phím vào tập tin. Một ví dụ khác - lệnh ftp, sau khi chạy lệnh này dấu
nhắc sẽ có dạng như đã nói. Dấu nhắc, xác định bởi biến PS3, sử dụng trong lệnh
select
. Dấu nhắc, xác định bởi biến PS4, được đưa ra trước mỗi câu lệnh, trong
lúc bash theo dõi quá trình thực hiện. Giá trị theo mặc định - “+”. Nếu có mong
muốn, bạn có thể thay đổi các biến PS1 và PS2. Khi này có thể sử dụng bất kỳ
ký tự nào nhập từ bàn phím, cũng như một vài ký tự chuyên dùng để xác định
dạng dấu nhắc như trong bảng
(chỉ đưa ra một vài trong số chúng làm ví dụ,
danh sách đầy đủ xem trong trang man của bash - gõ lệnh “man bash”).
Số của lệnh (số thứ tự của lệnh đang thực hiện trong buổi làm việc hiện thời)
có thể khác với số của chính nó trong danh sách “lịch sử các câu lệnh”, bởi vì
danh sách còn chứa cả những câu lệnh đã được ghi lại trong tập tin lịch sử. Sau
4
random là từ tiếng Anh có nghĩa ngẫu nhiên