Trong shell Linux có 2 dạng biến:
1.System variables: biến hệ thống, được tạo và duy trì bởi Linux.Các biến này đc định nghĩa bằng chữ HOA
2.User defined variables(UDV): biến do user tạo ra và quản lý, được định nghĩa bằng chữ thường
Các biến hệ thống thường gặp đã được định nghĩa sẵn
BASH : chứa path đến shell
BASH_VERSION : version của shell
COLUMNS :số cột của màn hình hiển thị
HOME :home folder của user hiện tại
LOGNAME :tên uer đang log on
OSTYPE :tên OS
PATH :đường dẫn của biến môi trường
PS1 :thiết lập của dấu nhắc lệnh
PWD :thư mục hiện tại
SHELL : tên shell
USERNAME :user name đang login
How to define User defined variables (UDV)
để định nghĩa UDV ta sử dụng cấu trúc sau:
variable name = value
lúc này giá trị 'value' đc gán đến 'variable name'. Lưu ý rằng, value là giá trị nằm bên phải của dấu =
a = bus
n= 100
Quy tắc đặt tên biến(cả UDV và system variable)
1.Tên biến phải bắt đầu bằng một ký tự hoặc dấu gạch dưới (_), tiếp theo là các ký tự Alpha.ví dụ:
HOME2.Khi gán biến, không đc để khoảng trống 2 bên dấu =.
SYSTEM_VERSION
bash
$ no=10 //hợp lệ3 dòng dưới cùng có thể dẫn đến lỗi
$ no = 10
$ no= 10
$ no =10
3.Biến đc phân biệt HOA, thường- tương tự như trong Linux.
4.Có thể định nghĩa một biến NULL. Biến NULL là biến ko có gía trị khi định nghĩa.
Ví dụ:
$ no=5.Không sử dụng các ký tự như ?, * ... để đặt tên cho biến
hoặc
$no=""
-----
How to print or access value of UDV
để hiện thị hoặc truy cập UDV, ta sử dụng quy tắc sau:
$variablenameVí dụ:
Định nghĩa biến vech và n như sau:
$ vech=bus //lưu ý,dấu $ ở đây là nói về dấu nhắc lệnh trong shellell
$ n=10để in ra bus, ta sử dụng
$ echo $vechđể in ra giá trị của n, ta sử dụng
$ echo $n
Chú ý: nếu ko có dấu $ trước biến, nó sẽ ko in ra giá trị của biến mà in ra ký tự đó.
Ví dụ: $ echo vech
nó sẽ in ra 'vech' chứ không phải là bus
----
"backtick"
Trong shell script, ký tự `, ký tự này được gọi là backtick. Ký tự này cho phép bạn gán nội dung output của một câu lệnh vào biến. Ví dụ, để lưu output của câu lệnh date vào biến tên là test, ta sẽ sử dụng cú pháp sau:
test=`date`Khi đó, shell sẽ chạy câu lệnh bên trong backtick và ghi nhớ nội dung đó vào biến test.
Nội dung file:
=====End======
No comments:
Post a Comment