Nội Dung Bài Viết
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ụ:
1 2 3 4 5 6 7 | $ 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ụ:
1 2 3 4 | $ 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ụ:
1 2 3 4 5 6 7 8 | $ 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ụ:
1 2 3 4 5 6 7 8 9 10 11 | $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
1 2 3 4 5 6 7 8 9 10 11 12 13 | # !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
1 2 3 4 5 6 7 8 9 10 11 | $ ./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:
- Lập trình shell (Tiếp Theo 3)
- Các tập lệnh của Linux (Phần 1) – Tìm hiểu Linux cơ bản
- Các tập lệnh của Linux (Phần 2) – Tìm hiểu Linux cơ bản