Khai báo biến trong Shell Script – Cú pháp, quy tắc, ví dụ

Biến là một từ khá quen thuộc khi lập trình, nhưng khi đi sâu vào viết các tệp Shell Script, khai báo biến cũng có những điểm đặc thù riêng. Để giúp bạn hiểu rõ hơn, bài viết dưới đây TTnguyen sẽ giới thiệu những khái niệm căn bản và cách khai báo biến trong Shell Script.

Xem thêm:

1. Biến trong shell

– Biến hệ thống:

  • Tạo ra và quản lý bởi Linux.
  • Tên biến là CHỮ HOA

– Biến do người dùng định nghĩa

  • Tạo ra và quản lý bởi người dùng
  • Tên biến là chữ thường

– Xem hoặc truy nhập giá trị các biến

  • $tên_biến
  • echo $HOME
  • echo $USERNAME
  • Phải có dấu $ trước tên biến

2. Cú pháp khai báo biến

– Cú pháp:

tên_biến=giá_trị
VARIABLE_NAME="Value"

– In giá trị của biến

echo $tên_biến

– Ví dụ:

num=10
echo $num

– Gán giá trị trả về vào biến:

#!/bin/bash
SERVER_NAME = $(host)
echo "You are running this script on ${SERVER_NAME}"

3. Quy tắc khai báo biến trong shell script

– Tên biến phải bắt đầu bằng ký tự.

HOME
num
new_var

– Không được để dấu cách hai bên toán tử = khi gán giá trị cho biến.

no=10 # là đúng
no =10 # là sai
no = 10 # là sai

– Tên biến có phân biệt chữ hoa, thường.

no=10
No=11
NO=20
nO=2

– Một biến không có giá trị khởi tạo thì bằng NULL.

– Không được dùng dấu ?, * để đặt tên các biến vì các ký tự này có ý nghĩa đặc biệt đối với shell.

– Ví dụ về các tên biến không hợp lệ:

2_VAR
-VARIABLE
VAR1-VAR2
VAR_A!

Ví dụ

#!/bin/bash
website="TTnguyen - Giai-bai tap, chia se bai tap lon mien phi"
nam_thanh_lap=2022
echo "Website: $website"
echo "Nam thanh lap: $nam_thanh_lap"

Biến trong Shell Script

4. Các kiểu biến trong Linux

Khi một Shell đang chạy, có 3 kiểu biến tồn tại:

Các biến nội bộ (Local Variables): Một biến nội bộ là một biến mà tồn tại trong trong quá trình thực thi của shell. Nó không có sẵn trong các chương trình mà được bắt đầu bởi Shell. Chúng được thiết lập tại dòng nhắc lệnh.

Các biến môi trường (Environment Variables): Một biến môi trường là một biến có sẵn trong bất kỳ tiến trình con nào của shell. Một vài chương trình cần các biến môi trường để thực thi các hàm một cách chính xác. Thông thường một Shell script chỉ định nghĩa các biến môi trường mà nó cần bởi các chương trình khi nó chạy.

Các biến shell (Shell Variables): Một biến shell là một biến đặc biệt mà được thiết lập bởi Shell và được yêu cầu bởi Shell để thực thi các hàm một cách chính xác. Một số biến này là biến môi trường, trong khi số khác là biến nội bộ.

5. Các biến đặc biệt trong shell script

Biến Miêu tả
$0 Tên file của script hiện tại.
$n Những biến này tương ứng với các tham số mà một script được gọi. Tại đây n là số thập phân nguyên dương tương ứng với vị trí của một tham số (tham số đầu tiên là $1, tham số thứ hai là $2…).
$# Số các tham số cung cấp cho một script.
$* Tất cả các tham số được trích dẫn kép. Nếu một script nhận hai tham số, $* là tương đương với $1 $2.
$@ Tất cả các tham số được trích dẫn kép riêng rẽ. Nếu một script nhận 2 tham số, $@ là tương đương với $1 $2.
$? Trạng thái thoát ra của lệnh trước được chạy.
$$ Số tiến trình của shell hiện tại. Đối với Shell script, đây là số Process ID mà chúng đang chạy.
$! Số tiến trình của lệnh background trước.

Trên đây là những cách khai báo biến trong Shell Script mà bạn cần biết. Hy vọng những kiến thức mình chia sẻ sẽ giúp bạn trở thành một người viết code thành thạo hơn và giúp ích trong môn quản trị linux. Chúc bạn thành công!

Bài viết liên quan:

Nguyễn Tiến Trường

Mình viết về những điều nhỏ nhặt trong cuộc sống, Viết về câu chuyện những ngày không có em