Trong chương này, chúng ta sẽ học cách sử dụng các biến Shell trong Unix. Một biến là một chuỗi ký tự mà chúng ta gán một giá trị. Giá trị được gán có thể là số, văn bản, tên tệp, thiết bị hoặc bất kỳ loại dữ liệu nào khác.

Một biến không có gì khác hơn là một con trỏ đến dữ liệu thực tế. Trình bao cho phép bạn tạo, gán và xóa các biến.

Tên biến

Tên của một biến chỉ có thể chứa các chữ cái (a đến z hoặc A đến Z), số (0 đến 9) hoặc ký tự gạch dưới (_).

Theo quy ước, các biến trình bao Unix sẽ có tên trong UPPERCASE.

Các ví dụ sau đây là các tên biến hợp lệ –

_win
TOKEN_A
VAR_1
VAR_2

Sau đây là các ví dụ về tên biến không hợp lệ:

2_VAR
-VARIABLE
VAR1-VAR2
VAR_A!

Lý do bạn không thể sử dụng các ký tự khác như * , hoặc  là những ký tự này có ý nghĩa đặc biệt đối với shell.

Xác định các biến

Các biến được định nghĩa như sau:

variable_name=variable_value

Ví dụ –

NAME="win"

Ví dụ trên xác định biến NAME và gán giá trị “win” cho nó. Các biến kiểu này được gọi là biến vô hướng . Một biến vô hướng chỉ có thể chứa một giá trị tại một thời điểm.

Shell cho phép bạn lưu trữ bất kỳ giá trị nào bạn muốn trong một biến. Ví dụ –

VAR1="win"
VAR2=100

Truy cp các giá tr

Để truy cập giá trị được lưu trữ trong một biến, hãy đặt tiền tố tên của nó bằng ký hiệu đô la ( $ ) –

Ví dụ: tập lệnh sau sẽ truy cập giá trị của biến được xác định NAME và in nó trên STDOUT –

#!/bin/sh
NAME="win"
echo $NAME

Tập lệnh trên sẽ tạo ra giá trị sau:

win

Biến ch đọc

Shell cung cấp một cách để đánh dấu các biến là chỉ đọc bằng cách sử dụng lệnh chỉ đọc. Sau khi một biến được đánh dấu là chỉ đọc, giá trị của nó không thể thay đổi được.

Ví dụ: tập lệnh sau tạo ra lỗi khi cố gắng thay đổi giá trị của NAME –

#!/bin/sh
NAME="win"
readonly NAME
NAME="hero"

Tập lệnh trên sẽ tạo ra kết quả sau:

/bin/sh: NAME: This variable is read only.

B thiết lp các biến

Việc bỏ đặt hoặc xóa một biến sẽ hướng shell xóa biến đó khỏi danh sách các biến mà nó theo dõi. Khi bạn hủy đặt một biến, bạn không thể truy cập giá trị được lưu trữ trong biến.

Sau đây là cú pháp để hủy đặt một biến đã xác định bằng cách sử dụng lệnh unset :

unset variable_name

Lệnh trên bỏ đặt giá trị của một biến đã xác định. Đây là một ví dụ đơn giản minh họa cách hoạt động của lệnh:

#!/bin/sh
NAME="win"
unset NAME
echo $NAME

Ví dụ trên không in bất cứ thứ gì. Bạn không thể sử dụng lệnh unset để bỏ đặt các biến được đánh dấu là chỉ đọc .

Các loi biến

Khi một trình bao đang chạy, có ba loại biến chính:

  • Biến cục bộ – Biến cục bộ là một biến có trong phiên bản hiện tại của shell. Nó không có sẵn cho các chương trình được khởi động bởi shell. Chúng được đặt tại dấu nhắc lệnh.
  • Biến môi trường – Một biến môi trường có sẵn cho bất kỳ tiến trình con nào của trình bao. Một số chương trình cần các biến môi trường để hoạt động chính xác. Thông thường, một tập lệnh shell chỉ định nghĩa những biến môi trường cần thiết cho các chương trình mà nó chạy.
  • Biến Shell – Biến shell là một biến đặc biệt được đặt bởi shell và được shell yêu cầu để hoạt động chính xác. Một số biến trong số này là biến môi trường trong khi những biến khác là biến cục bộ.

Unix / Linux – Các biến đặc biệt (xem thêm)

Để lại một bình luận