Lập trình shell (Tiếp theo 2)

2 Cú pháp của ngôn ngữ shell.

2.1 Biến. (Variable)

2.1.1 Sử dụng biến

Mặc định biến strong shell khi được khởi tạo điều là kiểu string và có phân biệt ký tự in hoa in thường. Bạn có thể lấy nội dung biến bằng dấu $ ($ với lệnh echo giống như php nhỉ ).

Lưu ý: giữa hai dấu = không có khoảng trắng.

Ví dụ:

$ Konnichiwa=Kenvin 
$ echo 
$Konnichiwa Kenvin 
$ Plus=22+11 
$ echo 
$Plus 
22+11

Để nhập dữ liệu bạn dùng lệnh read.

Ví dụ:

$ read yourname Kenvin 
$ echo "Hello" 
$yourname 
Hello Kenvin

Nếu bạn muốn thay thế nội dung biến trong một chuỗi bạn dùng dấu kép. Nếu muốn hiển thị toàn bộ nội dung chuỗi bạn dùng dấu nháy đơn.

Ví dụ:

$ read variable 
MyVariable 
$ echo 
$variable MyVariable 
$ echo 'message : $variable' 
message : $variable 
$ echo "message : $variable" 
message : My Variable

2.1.2 Biến môi trường

Biến môi trường là biến đươc khai báo và gán giá trị mặc định khi shell khởi động. Các biến này thường được viết hoa để phân biệt với biến do người lập trình định nghĩa.

Biến Môi trường

Ý nghĩa

$HOME

Chưá nội dung thư mục đầu tiên khi đăng nhập

$PATH

Danh sách các đường dẫn (:)

$PS1

prompt hiển thị dòng lệnh $

$PS2

prompt hiển thị >

$IFS

Danh sách chuỗi, dùng để tách chuỗi

$0

Chứa tên chưong trình gọi trên dòng lệnh

$#

Số tham số truyền trên dòng lệnh

$$

Mã tiến trình của shell script

Để xem danh sách biến môi trường ta dùng lệnh env, để tạo mới ta dùng lệnh export.

2.1.2 Biến Tham số.

Biến tham số (parameter variable)

Biến tham số

Ý nghĩa

$1, $2, $3…

Vị trí nội dung các tham số trên dòng lệnh

$*

Danh sách tất cả các tham số trên dòng lệnh và được lưu thành một chuỗi duy nhất phân cách bằng ký tự đầu tiên của biến $IFS

$@

Danh sách các tham số được chuyển thành chuỗi không sử dụng dấu phân cách của biến $IFS

Ví dụ:

$IFS="^" 
$ set N T K Q 
$ echo "$@" 
N T K Q 
$ echo "$*" 
N^T^K^Q 
$ unset IFS 
$ echo "$*" 
N T K Q 
$ echo "$#"
4

Lệnh set ta truyền 4 tham số N T K Q. Khi biến môi trường IFS=”^” thì biến $* sẽ chứa danh sách tham số phân cách bằng dấu ^. Khi đặc biến IFS=null bằng lệnh unset thì biến $* sec trả về tương đương khi sử dụng biến $*

Ví dụ: variable.sh

Tạo mọt file variable.sh bằng lệnh nano variable.sh

# !bin/sh 

variable="Hello" 
echo $variable 
echo "The program $0 is now runing" 
echo "The parameter list $*" 
echo "The first parameter was $1" 
echo "The second parameter was $2" 
echo "The user's home directory is $HOME" 
echo "Please enter a new greeting" read variable echo $variable 
echo "The Script is now complete" 

exit 0

Nhấn Ctrl – X và nhấn Y để lưu. Cấp quyền thực thi bằng lệnh chmod +x variable.sh

$ ./variable.sh  N T K Q 
Hello 
The program ./variable.sh is now runing 
The parameter list N T K Q 
The first parameter was N 
The second parameter was T
The user's home directory is /home/user 
Please enter a new greeting 
Kenvin 
Kenvin 
The Script is now complete

Bài viết các bạn có thể tham khảo:

Viết một bình luận

This site uses Akismet to reduce spam. Learn how your comment data is processed.