Bài giảng LINUX và phần mềm nguồn mở - Chương 8: Lập trình Shell
Số trang: 33
Loại file: pdf
Dung lượng: 1.23 MB
Lượt xem: 22
Lượt tải: 0
Xem trước 4 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài giảng LINUX và phần mềm nguồn mở - Chương 8: Lập trình Shell. Chương này cung cấp cho sinh viên những nội dung gồm: lập trình shell là gì; soạn và thực thi chương trình shell; biến trong shell; một số biến hệ thống; quy tắc đặt tên biến; các phép toán số học;... Mời các bạn cùng tham khảo chi tiết nội dung bài giảng!
Nội dung trích xuất từ tài liệu:
Bài giảng LINUX và phần mềm nguồn mở - Chương 8: Lập trình ShellLẬP TRÌNH SHELL TS. TRẦN HẢI ANH Lập trình shell là gì• Shell là trình thông dịch lệnh của Linux – Thường tương tác với người dùng theo từng câu lệnh. – Shell đọc lệnh từ bàn phím hoặc file – Nhờ hạt nhân Linux thực hiện lệnh• Shell script – Các chương trình shell, bao gồm chuỗi các lệnh. Soạn và thực thi chương trình shell• Sử dụng mọi trình soạn thảo dạng text: – vi, emacs, gedit – Nội dung bao gồm các câu lệnh được sử dụng trên dòng lệnh của Linux – Các câu lệnh trên cùng 1 dòng phải phân tách bằng dấu ;• Thiết lập quyền thực thi cho chương trình shell – chmod o+x ten_file• Thực thi – bash ten_file – sh ten_file – ./ten_file Ví dụ shell đơn giản• $vi first# My first shell scriptclearecho Hello $USERecho Today is c ;dateecho Number of user login : c ; who | wc –lecho Calendar• $ chmod 755 first• $./first Biến trong shell• Trong Linux shell có 2 loại biến: – Biến hệ thống: • Tạo ra và quản lý bởi Linux. • Tên biến là CHỮ HOA – Biến do người dùng định nghĩa • Tạo ra và quản lý bởi người dùng • Tên biến là chữ thường – Xem hoặc truy nhập giá trị các biến: • $tên_biến • echo $HOME • echo $USERNAME Phải có dấu $ trước tên biếnMột số biến hệ thống Định nghĩa các biến của người dùng• Cú pháp: tên_biến=giá_trị• In giá trị của biếnecho $tên_biến• Ví dụ:no=10echo $no Quy tắc đặt tên biến• Tên biến phải bắt đầu bằng ký tự – HOME – SYSTEM_VERSION – no – vech• Không được để dấu cách hai bên toán tử = khi gán giá trị cho biến – no=10 # là đúng – no =10 # là sai – no = 10 #là sai Quy tắc đặt tên biến• Tên biến có phân biệt chữ hoa, thường – Các biến sau đây là khác nhau: no=10 No=11 NO=20 nO=2• Một biến không có giá trị khởi tạo thì bằng NULL• Không được dùng dấu ?, * để đặt tên các biếnVí dụ Lệnh echo• Cú pháp: echo [option] [string, variables…]• In một số ký tự đặc biệt trong tham số với tùy chọn -e: a alert (bell) backspace c suppress trailing new line new line carriage return horizontal tab \ backslash• Ví dụ:$ echo -e An apple a day keeps away a doctor Các phép toán số học• Để thực hiện các phép tính toán số học cần dùng câu lệnh:expr biểu_thức_số_họcCác toán tử: +, -, *, /, %• Ví dụ:expr 1 + 3expr 2 - 1expr 10 / 2expr 20 % 3expr 10 * 3 # phép nhân là * .echo `expr 6 + 3` # đánh giá giá trị biểu thức 6+3 và inra. Các dấu ngoặc• Dấu ngoặc kép “ ” – Tất cả các ký tự trong dấu ngoặc kép đều không có ý nghĩa tính toán, trừ những ký tự sau hoặc $• Dấu nháy ngược ` (cùng nút với dấu ~) – Yêu cầu thực hiện lệnhVD: $ echo “Today is `date`” Today is Tue Jan … Trạng thái kết thúc câu lệnh• Linux mặc định trả về: – Trạng thái 0 nếu câu lệnh kết thúc thành công. – Khác 0 nếu kết thúc có lỗi• Kiểm tra trạng thái kết thúc một câu lệnh – $? : cho biết trạng thái kết thúc câu lệnh trước đó• Ví dụ rm unknow1file Nếu không có file này, hệ thống thông báo rm: cannot remove `unkowm1file: No such file or directory Nếu thực hiện lệnh: $ echo $? Sẽ in ra giá trị khác 0. Câu lệnh đọc dữ liệu đầu vào• Đọc dữ liệu từ bàn phím và ghi và biến• Cú pháp: Read variable1 Các tham số dòng lệnh• Một chương trình shell có thể có các tham số dòng lệnh $myshell foo bar• Tham chiếu: – tên lệnh: $0 – các tham số: $1, $2… – Số các tham số: $# Cấu trúc rẽ nhánh if• Cú pháp: if điều_kiện then câu lệnh 1 … fiCâu lệnh 1 được thực hiện khi điều_kiện làđúng hoặc trạng thái kết thúc của điều_kiệnlà 0 (kết thúc thành công). Cấu trúc rẽ nhánh if• Ví dụ, tệp showfile có nội dung:• Thực thi tệp: $./showfile foo• $1 cho giá trị foo Cấu trúc rẽ nhánh if … else … fi• Cú phápif điều_kiện then câu_lệnh_1 ….else câu_lệnh_2fi Lệnh test• Lệnh test được dùng để kiểm tra một biểu thức là đúng hay không và trả lại – 0 nếu biểu thức đúng – 0, trường hợp còn lại• Cú pháp: Test biểu_thức [biểu thức]• Biểu thức có thể bao gồm: – Số nguyên – Các kiểu tiệp – Xâu ký tự ...
Nội dung trích xuất từ tài liệu:
Bài giảng LINUX và phần mềm nguồn mở - Chương 8: Lập trình ShellLẬP TRÌNH SHELL TS. TRẦN HẢI ANH Lập trình shell là gì• Shell là trình thông dịch lệnh của Linux – Thường tương tác với người dùng theo từng câu lệnh. – Shell đọc lệnh từ bàn phím hoặc file – Nhờ hạt nhân Linux thực hiện lệnh• Shell script – Các chương trình shell, bao gồm chuỗi các lệnh. Soạn và thực thi chương trình shell• Sử dụng mọi trình soạn thảo dạng text: – vi, emacs, gedit – Nội dung bao gồm các câu lệnh được sử dụng trên dòng lệnh của Linux – Các câu lệnh trên cùng 1 dòng phải phân tách bằng dấu ;• Thiết lập quyền thực thi cho chương trình shell – chmod o+x ten_file• Thực thi – bash ten_file – sh ten_file – ./ten_file Ví dụ shell đơn giản• $vi first# My first shell scriptclearecho Hello $USERecho Today is c ;dateecho Number of user login : c ; who | wc –lecho Calendar• $ chmod 755 first• $./first Biến trong shell• Trong Linux shell có 2 loại biến: – Biến hệ thống: • Tạo ra và quản lý bởi Linux. • Tên biến là CHỮ HOA – Biến do người dùng định nghĩa • Tạo ra và quản lý bởi người dùng • Tên biến là chữ thường – Xem hoặc truy nhập giá trị các biến: • $tên_biến • echo $HOME • echo $USERNAME Phải có dấu $ trước tên biếnMột số biến hệ thống Định nghĩa các biến của người dùng• Cú pháp: tên_biến=giá_trị• In giá trị của biếnecho $tên_biến• Ví dụ:no=10echo $no Quy tắc đặt tên biến• Tên biến phải bắt đầu bằng ký tự – HOME – SYSTEM_VERSION – no – vech• Không được để dấu cách hai bên toán tử = khi gán giá trị cho biến – no=10 # là đúng – no =10 # là sai – no = 10 #là sai Quy tắc đặt tên biến• Tên biến có phân biệt chữ hoa, thường – Các biến sau đây là khác nhau: no=10 No=11 NO=20 nO=2• Một biến không có giá trị khởi tạo thì bằng NULL• Không được dùng dấu ?, * để đặt tên các biếnVí dụ Lệnh echo• Cú pháp: echo [option] [string, variables…]• In một số ký tự đặc biệt trong tham số với tùy chọn -e: a alert (bell) backspace c suppress trailing new line new line carriage return horizontal tab \ backslash• Ví dụ:$ echo -e An apple a day keeps away a doctor Các phép toán số học• Để thực hiện các phép tính toán số học cần dùng câu lệnh:expr biểu_thức_số_họcCác toán tử: +, -, *, /, %• Ví dụ:expr 1 + 3expr 2 - 1expr 10 / 2expr 20 % 3expr 10 * 3 # phép nhân là * .echo `expr 6 + 3` # đánh giá giá trị biểu thức 6+3 và inra. Các dấu ngoặc• Dấu ngoặc kép “ ” – Tất cả các ký tự trong dấu ngoặc kép đều không có ý nghĩa tính toán, trừ những ký tự sau hoặc $• Dấu nháy ngược ` (cùng nút với dấu ~) – Yêu cầu thực hiện lệnhVD: $ echo “Today is `date`” Today is Tue Jan … Trạng thái kết thúc câu lệnh• Linux mặc định trả về: – Trạng thái 0 nếu câu lệnh kết thúc thành công. – Khác 0 nếu kết thúc có lỗi• Kiểm tra trạng thái kết thúc một câu lệnh – $? : cho biết trạng thái kết thúc câu lệnh trước đó• Ví dụ rm unknow1file Nếu không có file này, hệ thống thông báo rm: cannot remove `unkowm1file: No such file or directory Nếu thực hiện lệnh: $ echo $? Sẽ in ra giá trị khác 0. Câu lệnh đọc dữ liệu đầu vào• Đọc dữ liệu từ bàn phím và ghi và biến• Cú pháp: Read variable1 Các tham số dòng lệnh• Một chương trình shell có thể có các tham số dòng lệnh $myshell foo bar• Tham chiếu: – tên lệnh: $0 – các tham số: $1, $2… – Số các tham số: $# Cấu trúc rẽ nhánh if• Cú pháp: if điều_kiện then câu lệnh 1 … fiCâu lệnh 1 được thực hiện khi điều_kiện làđúng hoặc trạng thái kết thúc của điều_kiệnlà 0 (kết thúc thành công). Cấu trúc rẽ nhánh if• Ví dụ, tệp showfile có nội dung:• Thực thi tệp: $./showfile foo• $1 cho giá trị foo Cấu trúc rẽ nhánh if … else … fi• Cú phápif điều_kiện then câu_lệnh_1 ….else câu_lệnh_2fi Lệnh test• Lệnh test được dùng để kiểm tra một biểu thức là đúng hay không và trả lại – 0 nếu biểu thức đúng – 0, trường hợp còn lại• Cú pháp: Test biểu_thức [biểu thức]• Biểu thức có thể bao gồm: – Số nguyên – Các kiểu tiệp – Xâu ký tự ...
Tìm kiếm theo từ khóa liên quan:
Bài giảng LINUX và phần mềm nguồn mở LINUX và phần mềm nguồn mở Phần mềm nguồn mở Lập trình Shell Biến trong shell Quy tắc đặt tên biến Phép toán số họcTài liệu có liên quan:
-
183 trang 324 0 0
-
Giáo trình Hệ điều hành Linux (Ngành: Công nghệ thông tin) - CĐ Công nghiệp Hải Phòng
103 trang 224 0 0 -
Bài giảng Lập trình C căn bản: Chương 4 - Phạm Thế Bảo
34 trang 159 0 0 -
'Phần mềm tự do và phần mềm nguồn mở' Free and Open Source Software – Asia-Pacific Consultation
5 trang 140 0 0 -
Xây dựng hệ thống tích hợp liên tục nội bộ sử dụng công cụ nguồn mở Jenkins và Gitlab
11 trang 96 0 0 -
25 trang 50 0 0
-
Bài giảng Phần mềm nguồn mở: Bài 3 - Đoàn Thiện Ngân
12 trang 50 0 0 -
Bài giảng Phần mềm nguồn mở: Bài 1 - Đoàn Thiện Ngân
29 trang 49 0 0 -
Giáo trình Nhập môn quản trị hệ thống Linux
145 trang 49 0 0 -
Bài giảng Kiến trúc máy tính - Chương 3: Phép toán số học trên máy tính (tt)
32 trang 49 1 0