Shell Script là một chương trình máy tính được thiết kế để chạy bởi shell Unix, trình thông dịch dòng lệnh, các phương ngữ khác nhau của tập lệnh shell được coi là ngôn ngữ kịch bản shell bao gồm quản lý file, thực thi chương trình và hiển thị text
Cơ bản
Tạo file test.sh:
#!/bin/bashecho "Hello World!"
chmod 755 test.sh
Chạy file:
./hello_world.sh
Biến
Khai báo biến và gọi biến
#!/bin/bashTITLE="Hostname: $HOSTNAME"DATE_ISO=$(date +"%x %r %Z")TIME_STAMP="$RIGHT_NOW by $USER"cat <<- _EOF_<html> <head> <title> $TITLE</title> </head> <body> <h1>$DATE_ISO</h1> <p>$TIME_STAMP</p> </body> </html>_EOF_
Shell Functions
Khai báo hàm và gọi hàmCú pháp:
TEN_HAM(){}
Gọi hàm:
$(TEN_HAM)
Ví dụ:
Lệnh uptime sẽ thông báo thời gian chạy kể từ lần cuối re-bootgetUpTime() {echo "<p>Uptime</p>"uptime}
Xử lý điều kiện
Cấu trúc của if trong shell script:Ví dụ:if commands; thencommandselif commands; thencommands...elsecommandsfi
Gõ lệnh: help + TEN_DIEU_KIENif [ -f .bash_profile ]; thenecho "File ok."elseecho "File not ok"fi
Expression | Description |
---|---|
-d file | True khi file là một directory |
-e file | True khi file tồn tại |
-f file | True khi file tồn tại và và một file thông thường(không bị hạn chế về permission) |
-L file | True nếu file là symbolic link |
-r file | True nếu file có quyền đọc (readable) |
-w file | True nếu file có quyền ghi (writable) |
-x file | True nếu file có quyền thực thi (executable) |
file1 -nt file2 | True nếu file 1 mới hơn so với file 2 (dựa vào modification time) |
file1 -ot file2 | True nếu file 1 cũ hơn so với file 2 |
-z string | True nếu string rỗng |
-n string | True nếu string tồn tại |
string1 = string2 | True nếu 2 string giống nhau |
string1 != string2 | True nếu 2 string khác nhau |
Keyboard Input
Để có thể nhập input từ bán phím sử dụng lệnh read sẽ đọc input từ bàn phím và gán vào biến như sau:#!/bin/bashecho -n "Enter some text > "read textecho "You entered: $text"
Loops
Vòng lặp while#!/bin/bashnumber=0while [ "$number" -lt 10 ]; doecho "Number = $number"number=$((number + 1))done
Cấu trúc for
for variable in words; docommandsdone
Nhận xét
Đăng nhận xét