Dự án mới của mình là gamehow.net, mời anh em ghé thăm và góp ý ạ.

Biến (Variables) trong Shell Script

Ở bài trước bạn đã được học cách tạo một chương trình "hello world' với Shell Script rồi, vậy thì bài này mình sẽ bàn về một phần cũng rất quan trọng đó là biến và khai báo biến trong shell script.

Biến là một định danh dùng đẻ lưu trữ dữ liệu, nó có thể lưu trữ các loại dữ liệu như dạng số, dạng chuỗi (văn bản), tên thư mục, tên file, thiết bị, hoặc một kiểu dữ liệu bất kì.

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Nói rõ hơn thì một biến được xem như là một con trỏ và trỏ đến một ô nhớ lưu trữ dữ liệu. Shell cho phép chúng ta tạo biến, gán giá trị, thậm chí là có thể xóa biến.

1. Đặt tên biến

Cũng như các ngôn ngữ lập trình phổ biến, tên biến bắt buộc phải đặt theo chuẩn mà Shell đưa ra.

Tên biến chỉ chứa các ký tự từ a-z, các số từ 0-9 và ký tự gạch dưới _. Bạn có thể dùng chữ in hoa hoặc in thường, tuy nhiên người ta quy ước nên đặt chữ in hoa vì nó là chuẩn chung. Dưới đây là một vài tên biến hợp lệ và không hợp lệ.

Tên hợp lệ
NAME
_NAME
NAME_
NAME01
NAME_01

Tên không hợp lệ
0_NAME
-NAME
NAME!
YOUR-NAME

Lý do không hợp lệ là các ký tự đặc biệt như như !, $, -,... được đưa vào danh sách các từ khóa dùng trong shell.

2. Gán giá trị cho biến

Để gán giá trị cho biến thì bạn dùng cú pháp sau:

variable_name=variable_value

Ví dụ:

NAME="Nguyen Van Cuong - Freetuts.net"

Như trong ví dụ này mình đã gán giá trị "Nguyen Van Cuong - Freetuts.net" cho biến NAME.

3. Truy xuất giá trị của biến

Hơi khác chút xíu so với lúc khai báo, khi bạn muốn truy xuất đến một biến thì phải dùng ký tự đô la $ đặt trước biến đó. Như ví dụ dưới đây mình đã in ra giá trị của biến NAME.

#!/bin/sh
NAME="Nguyen Van Cuong"
echo $NAME

Kết quả sẽ in ra chuỗi sau:

Nguyen Van Cuong

4. Biến chỉ đọc (giống hằng số)

Biến chỉ đọc là biến chỉ cho phép đọc, không được phép thay đổi giá trị của biến.

Để thiết lập một biến là chỉ đọc thì ta sử dụng từ khóa readonly.

DOMAIN="freetuts.net"
readonly DOMAIN

Nếu bạn cố tình thay đổi giá trị của biến thì lập tức nhận được thông báo lỗi "/bin/sh: DOMAIN: This variable is read only.".

5. Xóa biến

Nếu một biến không còn tác dụng gì cho chương trình thì bạn nên xóa nó đi bằng cách sử dụng lệnh shell để xóa nó ra khỏi dành sách biến, sau khi xóa xong thì bạn mất hoàn toàn biến đó.

Để xóa biên thì ta dùng hàm unset, cú pháp như sau:

unset variable_name

Vi dụ:

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

Đoạn code này sẽ không in ra giá trị nào cả bởi vì biến NAME đã bị xóa trước khi dùng lệnh echo.

Lưu ý: Bạn không thể xóa biến được thiết lập là readonly.

6. Các thể loại biến

Có 3 loại biến như sau:

Local Variables: Biến nội bộ là biến tồn tại trong quá trình thực thi của shell, nó không có sẵn nên ban phải khai báo, đương nhiên chỉ sử dụng được trong phạm vi của chương trình đó mà thôi.

Environment Variables: Biến môi trường là biến có sẵn trong chương trình shell, vì vậy bạn có thể sử dụng nó ở bất kì đâu và bất kì chương trình shell.

Shell Variables: Biến shell là biến đặc biệt được thiết lập bởi shell

Cùng chuyên mục:

Cách dùng lệnh Users trong Linux để xem user đang online

Cách dùng lệnh Users trong Linux để xem user đang online

Nếu bạn đang là quản trị viên thì việc quản lý thông tin / xem…

Cách sử dụng lệnh Wall trong Linux

Cách sử dụng lệnh Wall trong Linux

Wall là một công cụ dòng lệnh giúp hiển thị thông báo đến tất cả…

Cách dùng lệnh Whereis trong Linux

Cách dùng lệnh Whereis trong Linux

Whereis là một tiện ích dòng lệnh command line, nó cho phép bạn tìm ..

Cách sử dụng lệnh Which trong Linux

Cách sử dụng lệnh Which trong Linux

Linux dùng lệnh which để xác định vị trí file thực thi của lệnh mà…

Cách sử dụng lệnh whoami trong Linux

Cách sử dụng lệnh whoami trong Linux

Giống như tên gọi của nó, lệnh whoami in tên người dùng đang chạy ...

Cách dùng lệnh zcat trong Linux

Cách dùng lệnh zcat trong Linux

Mặc dù tính năng nén file rất hữu ích vì nó giúp ta tiết kiệm…

Hiểu rõ hơn về chmod 777 trong Linux

Hiểu rõ hơn về chmod 777 trong Linux

Bạn đang xây dựng một website và sử dụng tính năng upload ...

Cách sử dụng lệnh tail trong Linux

Cách sử dụng lệnh tail trong Linux

Mặc định thì lệnh tail sẽ hiển thị 10 dòng cuối cùng của file, thông…

Cách sử dụng lệnh Head trong Linux

Cách sử dụng lệnh Head trong Linux

Trong quá trình quản trị dữ liệu trên Linux đôi khi bạn muốn xem nhanh…

Cách sử dụng lệnh Whatis trong Linux

Cách sử dụng lệnh Whatis trong Linux

Trong bài này chúng ta sẽ tìm hiểu lệnh whatis trong ...

Cách sử dụng lệnh kill trong Linux

Cách sử dụng lệnh kill trong Linux

Linux là một hệ điều hành rất nhanh nhưng không phải lúc nào nó không…

Cách dùng lệnh who trong Linux

Cách dùng lệnh who trong Linux

Who là một công cụ dòng lệnh command-line, được ...

Cách dùng lệnh basename trong Linux

Cách dùng lệnh basename trong Linux

basename là một tiện ích dòng lệnh (command line) dùng để lấy ...

Cách sử dụng lệnh gzip trên Linux

Cách sử dụng lệnh gzip trên Linux

Gzip là một trong những thuật toán nén file phổ biến nhất, nó cho phép…

Cách dùng lệnh wait trong Linux

Cách dùng lệnh wait trong Linux

Wait là lệnh dùng để đợi một thời gian cho tới khi công việc nào…

Cách dùng lệnh ping trong Linux

Cách dùng lệnh ping trong Linux

Lệnh ping là một trong những công cụ được sử dụng nhiều nhất để khắc…

Cách dùng lệnh sleep trong Linux

Cách dùng lệnh sleep trong Linux

sleep là một tiện ích command line cho phép lập trình viên ..

Các ví dụ học Bash Script trong Linux cơ bản nhất

Các ví dụ học Bash Script trong Linux cơ bản nhất

Bash Script đuọc xem là mã code lập trình trên Linux ...

Vòng lặp until trong Shell Script

Vòng lặp until trong Shell Script

Vòng lặp while trong Shell Script

Vòng lặp while trong Shell Script

Trong Linux script, vòng lặp while được sử dụng trong ...

Top