Cách sử dụng biến trong shell

Biến là một chuỗi ký tự mà chúng ta có thể gán giá trị cho chúng. Giá trị được gán có thể là một số, văn bản, hoặc bất kỳ kiểu dữ liệu nào. Shell cho phép bạn tạo ra biến, gán giá trị, và xóa chúng.

Quy tắc đặt tên biến trong Linux

Tên biến cần được VIẾT HOA toàn bộ. Tên biến chỉ cho phép các ký tự a-z hoặc A-Z, các số từ 0-9 và dấu gạch chân _

Ví dụ về tên biến hợp lệ

_NAME
AGE_123

Không được bắt đầu bằng một chữ số và Không được sử dụng các ký tự đặc biệt như !,* , - khi đặt tên biến

Các trường hợp dưới đây vi phạm quy tắc đặt tên biến

1_NAME
2AGE
BIRTH!
PHONE-NUM

Định nghĩa và gán giá trị cho biến

Cấu trúc khai báo như sau

[tên_biến]=[giá trị biến]

Ví dụ định nghĩa đồng thời gán giá trị cho biến

NAME="Barack Obama"
AGE=49

Sử dụng biến

Để truy cập giá trị lưu trong một biến bằng cách đặt ký tự $ trước tên biến:

#!/bin/sh
NAME="Barack Obama"
AGE=49
echo $NAME $AGE

kết quả

Barack Obama 49

Hủy biến

Để hủy một biến sử dụng lệnh unset với cú pháp

unset [tên biến]

Ví dụ hủy biến NAME 

#!/bin/sh
NAME="Barack Obama"
unset NAME
echo $NAME

Lệnh trên sẽ không in bất cứ thứ gì.

Biến chỉ đọc (read-only)

Sau khi một biến được đánh dấu read-only, giá trị của nó sẽ không thể thay đổi và kể cả khi sử dụng unset để hủy biến

#!/bin/bash
NAME="Barack Obama"
readonly NAME
NAME="George Bush"
unset NAME
echo $NAME

Ví dụ tạo một  shell scripts là test.sh và chạy thử

./test.sh
./test.sh: line 4: NAME: readonly variable
./test.sh: line 5: unset: NAME: cannot unset: readonly variable 
Barack Obama

Như các bạn thấy nó báo lỗi biến NAME và giá trị biến không bị thay đổi

Các loại biến

Có 3 loại biến có thể tồn tại khi shell đang chạy

+ Biến cục bộ (Local Variables): biến chỉ sinh ra và tồn tại trong quá trình shell chạy
Biến môi trường (Environment Variables):  biến có sẵn trong các tiến trình con của shell. Một số chương trình cần biến môi trường để chạy
+ Biến Shell (Shell Variables): là biến đặc biệt được tạo ra và sử dụng bởi Shell. Nó có thể là biến cục bộ hoặc biến môi trường

loading...

Viết nhận xét