TỰ HỌC SỬ DỤNG LINUX - Trang 121

112

Bash

[user]$ PATH=$PATH:new_path

Khi tìm kiếm, hệ vỏ “lục lọi” các thư mục theo đúng thứ tự đã liệt kê trong

biến PATH. Một chú ý nhỏ, có thể đưa vào danh sách này thư mục hiện thời, khi
thêm vào biến PATH một dấu chấm (.). Tuy nhiên, đây là điều không khuyên làm
với lý do bảo mật: người có ác ý có thể đặt vào thư mục dùng chung một chương
trình nào đó, có cùng tên với một trong số những câu lệnh thường dùng bởi root,
nhưng thực hiện những chức năng khác hoàn toàn (đặc biệt nguy hiểm nếu thư
mục hiện thời đứng ở đầu danh sách tìm kiếm).

5.6.4

Biến môi trường IFS

Biến này xác định ký tự (cụm ký tự) phân cách (Internal Field Separator), sử
dụng trong thao tác phân chia từ ngữ khi biến đổi dòng lệnh, mà hệ vỏ thực hiện
trước khi chạy một câu lệnh nào đó (xem dưới). Giá trị theo mặc định của biến này
– “<Khoảng_trắng><Tab><Ký_tự_hàng_mới>”. Nếu thử gõ lệnh “echo $IFS”,
bạn sẽ nhận được một ngạc nhiên nhỏ.

5.6.5

Thư mục hiện thời và thư mục cá nhân

Tên của thư mục hiện thời ghi trong biến môi trường với tên PWD, và giá trị của
biến này thay đổi sau mỗi lần chạy chương trình cd (cũng như mỗi lần thay đổi
thư mục hiện thời theo bất kỳ cách nào, ví dụ, qua Midnight Commander). Tương
tự như vậy tên đầy đủ (gồm cả đường dẫn) của thư mục cá nhân của người dùng,
chạy tiến trình đã cho, ghi trong biến HOME.

5.6.6

Câu lệnh export

Khi hệ vỏ chạy một chương trình hay câu lệnh nào đó, nó (hệ vỏ) cung cấp cho
chúng một phần biến môi trường. Để có thể cung cấp biến môi trường cho tiến
trình chạy từ hệ vỏ, cần gán giá trị cho biến này với lệnh export, tức là thay vì

[user]$ name=value

cần gõ:

[user]$ export name=value

Trong trường hợp này, tất cả các chương trình chạy từ hệ vỏ (kể cả bản sao

thứ hai của chính hệ vỏ) sẽ có quyền truy cập tới các biến được gán như vậy, tức
là sử dụng giá trị của chúng qua tên.

5.7

Khai triển biểu thức

Hay hệ vỏ đọc các câu lệnh như thế nào?.

Khi hệ vỏ nhận được một dòng lệnh này đó cần thực hiện, nó (hệ vỏ) trước khi

chạy câu lệnh thực hiện việc “phân tích ngữ pháp” dòng lệnh này (giống trong

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.