1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Hệ điều hành Unix-Linux: Chương 7 - Đặng Thu Hiền

41 7 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Bài giảng Hệ điều hành Unix-Linux - Chương 7 giới thiệu về lập trình shell trong hệ điều hành. Thông qua chương này, người học có thể biết được chương trình shell là gì, các loại shell, các ký hiệu đặc biệt trong shell, cách sử dụng biến trong shell,... Mời các bạn cùng tham khảo.

Hệ iều hành UNIX-Linux Chương Lập trình Shell Đặng Thu Hiền Khoa Công nghệ thông tin Trường Đại học Công nghệ Đại học Quốc gia Hà Nội Chương trình shell n  n  n  Chương trình shell tập hợp câu lệnh viết file text Nó giống chương trình bat MSDOS có sức mạnh lớn nhiều Chương trình shell nhận liệu từ người dùng, từ file in kết hình n  Có thể dùng để tạo lệnh riêng cho n  Shell giúp tiết kiệm thời gian n  Các bước để tạo chương trình shell n  n  Sử dụng chương trình soạn thảo text để tạo file chương trình n  Thay đổi thuộc tính file vừa tạo thêm thuộc tính khả thi: chmod +x /script.sh n  Có thể chạy ln chương trình lệnh: sh script.sh Các chương trình shell nên đặt i sh Trình soạn thảo v n Linux n  Trình soạn thảo vim Cấu trúc chương trình shell n  Là tập hợp lệnh cấu trúc iều khiển n  Mỗi lệnh viết dòng n  Chú thích chương trình phần nằm sau dấu # n  Dịng thích file chương trình shell s báo cho hệ thống chọn shell (chương trình) để thực chương trình (ngầm định shell tại) #!/bin/bash #!/usr/bin/perl #!/bin/csh #!/bin/rm 16 Các loại shell n  Muốn xem loại shell có hệ thống ta sử dụng lệnh: cat /etc/shells n  Muốn xem shell tại: echo $SHELL n  Phần đề cập đến lập trình shell bash Các ký hiệu đặc biệt shell Khi đặt tên biến cần tránh xung đột với ký tự đặc biệt Sử dụng biến shell n  n  Biến hệ thống Linux tạo quản lý (CHỮ IN HOA) Biến người dùng: người dùng tạo quản lý (chữ thường) Danh sách số biến hệ thống Quy tắc đặt tên biến n  n  n  Tên biến phải bắt đầu với ký tự chữ dấu gạch (_), ký tự chữ số Biến khởi tạo ta gán giá trị cho biến Không thêm dấu cách vào trước sau dấu gán, gán giá trị cho biến n  Biến Linux phân biệt chữ HOA thường n  Tìm biến hợp lệ không hợp lệ: n  no=10 new_variable= Test n  number= 10 n  1stnumber=10 n  Truy cập xoá biến n  Truy cập giá trị biến ta dùng ký tự $ trước tên biến, xóa biến sử dụng lệnh unset var n  n  n  echo $new_variable Lệnh echo [tùy chọn] [chuỗi, biến] dùng để hiển thị v n giá trị biến hình Tùy chọn: n  n  -n khơng hiển thị ký hiệu xuống dòng, -e hiển thị ký tự ẩn đặc biệt sau chuỗi Cấu trúc if …then …else … fi a mức n  Rất hiệu phải kiểm tra nhiều trường hợp/giá trị biến if iều_kiện_1 ; then Khối_lệnh_1 elif iều_kiện_2 ; then Khối_lệnh_2 … else Khối_lệnh_n fi 26 Cấu trúc lựa chọn case expr in pattern1 ) Khối lệnh ;; pattern2 ) Khối lệnh ;; … *) Khối lệnh n ;; esac n  n  n  n  expr em i so sánh với pattern, lệnh tương ứng s thi hành Dấu ;; tương đương với lệnh break C, tạo iều khiển nhảy tới dòng sau mã esac Khơng từ khố switch C, lệnh case bash cho phép ta kiểm tra giá trị expr dựa vào pattern, chứa kí tự đại diện *, ? Biểu thức *) có ý ngh a nhãn default lệnh switch C 27 Ví dụ lệnh case echo; echo "Hit a key, then hit return." read Keypress case "$Keypress" in [a-z] ) echo "Lowercase letter";; [A-Z] ) echo "Uppercase letter";; [0-9] ) echo "Digit";; * ) echo "Punctuation, whitespace, or other";; esac # Allows ranges of characters in [square brackets] n  Lệnh read var s đọc giá trị nhập vào từ bàn phím, sau ấn Enter lưu giữ vào biến var 28 Cấu trúc lặp for n  Lặp i lặp lại số lần khối lệnh ó n  n  for variable in danh_sách # Khối lệnh thao tác với giá trị $variable done for (( expr1; expr2; expr3 )) # Thực khối lệnh expr2 có giá trị TRUE done 29 Ví dụ vịng lặp for n  Ví dụ for i in echo "Welcome $i times" done n  Hoặc for (( i = ; i tên_file_đầu_ra ls > danh_sach_file Định hướng đầu vào: n  cat < a.txt sort < a.txt > a.sorted.txt n  tr [a-z] n  [A-Z] < a.txt > b.txt Lệnh < tên_file_đầu_vào 33 Định hướng đầu vào vào khối lệnh n  Đưa liệu vào khối lệnh n  Có thể lấy liệu từ file filename= dulieu.txt name= while `true` read name # Đọc từ file thay từ bàn phím echo $name if [[ "$name" = Smith ]] then break fi done < $filename" 34 Thủ tục / hàm chương trình shell n  Định ngh a hàm function_name(){ #Nội dung hàm } n  Muốn hàm trả giá trị ta dùng lệnh return n  Trong hàm truy cập biến toàn cục n  Muốn tạo biến cục hàm ta dùng từ khóa local n  Gọi hàm cách sử dụng tên hàm n  Có thể truyền tham số cho hàm n  n  Khi gọi hàm truyền theo tham số Trong hàm truy cập tham số thông qua biến vị trí 35 Ví dụ hàm function1(){ echo This is the first argument $1 } function1 ARGUMENT 36 Danh sách lệnh n  n  Để chạy dãy lệnh dòng lệnh ta phân cách lệnh dấu ; Danh sách lệnh AND n  n  n  Các lệnh phân cách dấu && Lệnh đằng sau thực tất lệnh trước trả giá trị TRUE Ví dụ: cat a.txt && rm a.txt 37 Danh sách lệnh n  Danh sách lệnh OR n  n  n  n  Các lệnh phân cách dấu || Lệnh sau thực tất lệnh đứng trước trả giá trị FALSE Ví dụ: cat a.txt || touch a.txt Danh sách lệnh AND OR thay cho cấu trúc if - then 38 Các toán tử so sánh chuỗi Toán tử Ý ngh a str1 = str2 str1 str2 str1 != str2 str1 khác str2 -n str str có độ dài lớn (khác null) -z str str có độ dài (null) 15 Các tốn tử so sánh số học Toán tử Ý ngh a -eq -ge lớn -gt lớn -le nhỏ -ne khác 15 ... tạo chương trình shell n  n  Sử dụng chương trình soạn thảo text để tạo file chương trình n  Thay đổi thu? ??c tính file vừa tạo thêm thu? ??c tính khả thi: chmod +x /script.sh n  Có thể chạy ln chương. .. định chương trình shell Nếu iều kiện cung cấp úng lệnh ó thực thi Điều kiện phép so sánh giá trị, lệnh kiểm tra hay kết trả chương trình Cấu trúc if điều_ kiện then #Khối lệnh thực điều_ kiện fi 17. .. dụ: Chương trình hiển thị nội dung file khác rỗng if [[ -f $1 ]] ; then if [[ -s $1 ]]; then cat $1 fi fi 23 Các toán tử logic n  Ví dụ: Chương trình hiển thị nội dung file khác rỗng if [[ -n

Ngày đăng: 08/05/2021, 17:02

Xem thêm:

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN