Bài giảng Nhập môn Hệ điều hành Unix (Bài giảng tuần 5) – Nguyễn Hải Châu
Số trang: 4
Loại file: pdf
Dung lượng: 268.03 KB
Lượt xem: 14
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài giảng tuần 5 của môn Nhập môn Hệ điều hành Unix tiếp tục cung cấp cho người học các nội dung kiến thức về lập trình shell trên Unix-Linux. Trong bài này sẽ trình bày về các toán tử trong shell và các cấu trúc điều khiển trong shell. Hy vọng thông qua bài giảng này, người học sẽ nắm bắt được các kiến thức cơ bản về lập trình shell.
Nội dung trích xuất từ tài liệu:
Bài giảng Nhập môn Hệ điều hành Unix (Bài giảng tuần 5) – Nguyễn Hải Châu Nội dung Lập trình shell trên Unix-Linux Nhập môn hệ điều hành Unix Các toán tử trong shell Các cấu trúc điều khiển trong shell Nguyễn Hải Châu Khoa Công nghệ Thông tin Trường Đại học Công nghệ Đại học Quốc gia Hà Nội (Bài giảng tuần 5) Các toán tử string Các toán tử string Toán tử Chức năng ${var:+ word} Nếu biến tồn tại và xác định thì trả về word, còn không thì trả về null ${var:- word} Nếu biến tồn tại và xác định thì trả ${var:?message} Nếu biến tồn tại và xác định thì trả về giá trị của nó, nếu không thì về giá trị của nó, còn không thì trả về word hiển thị “bash: $var:$message” và ${var:= word} Nếu biến tồn tại và xác định thì trả thoát ra khỏi lệnh/tập lệnh hiện về giá trị của nó, nếu không thì thời. gán biến thành word, sau đó trả ${var: Trả về một xâu con của var bắt đầu về giá trị của nó offset[:length]} tại offset của độ dài length. Nếu length bị bỏ qua, toàn bộ xâu từ offset sẽ được trả về. Ví dụ minh họa toán tử string Ví dụ (tiếp) Xét một biến shell tên là status được khởi tạo giá trị Bây giờ sử dụng lệnh unset để xoá biến status, và thực “defined”. Sử dụng các toán tử string cho kết quả hiện vẫn các lệnh đó, được output như sau: status như sau: unset status echo ${status:-undefined} echo ${status:-undefined} defined undefined echo ${status:=undefined} echo ${status:=undefined} undefined defined echo ${status:+undefined} echo ${status:+undefined} undefined undefined unset status echo ${status:?Dohhh\! undefined} echo ${status:?Dohhh\! undefined} defined bash:status Dohhh! Undefined 1 Các toán tử pattern-matching Các toán tử pattern-matching Toán tử Chức năng ${var%%patt Xoá bỏ phần khớp dài nhất của ern} pattern ở cuối var và trả về phần ${var#pattern} Xoá bỏ phần khớp (match) ngắn còn lại nhất của pattern trước var và trả ${var/pattern/ Thay phần khớp dài nhất của pattern về phần còn lại string} trong var bằng string. Chỉ thay phần ${var##pattern} Xoá bỏ phần khớp (match) dài nhất khớp đầu tiên. Toán tử này chỉ có của pattern trước var và trả về trong bash 2.0 hay lớn hơn. phần còn lại ${var//pattern Thay phần khớp dài nhất của pattern ${var%pattern} Xoá bỏ phần khớp ngắn nhất của /string} trong var bằng string. Thay tất cả pattern ở cuối var và trả về phần các phần khớp. Toán tử này có còn lại trong bash 2.0 hoặc lớn hơn. Ví dụ: Tách tên thư mục/tệp Ví dụ: Tách tên thư mục/tệp #!/bin/bash Kết quả: ########################### ${myfile##*/} = ide.txt myfile=/usr/src/linux/Documentation/ide.txt basename $myfile = ide.txt echo ‘${myfile##*/}=’ ${myfile##*/} ${myfile%/*} = /usr/src/linux/Documentation echo ‘basename $myfile =’ $(basename dirname $myfile = $myfile) /usr/src/linux/Documentation echo ‘${myfile%/*}=’ ${myfile%/*} echo ‘dirname $myfile =’ $(dirname $myfile) Các toán tử so sánh chuỗi Các toán tử so sánh số học Toán tử Ý nghía Toán tử Ý nghĩa str1 = str2 str1 bằng str2 -eq bằng str1 != str2 str1 khác str2 -ge lớn hơn hoặc bằng -n str str có độ dài lớn hơn 0 -gt lớn hơn (khác null) -le nhỏ hơn hoặc bằng -z str str có độ dài bằng 0 (null) -lt nhỏ hơn -ne khác 2 Điều khiển luồng trong shell Cấu trúc rẽ nhánh if Các cấu trúc điều khiển luồng của bash bao gồm: ...
Nội dung trích xuất từ tài liệu:
Bài giảng Nhập môn Hệ điều hành Unix (Bài giảng tuần 5) – Nguyễn Hải Châu Nội dung Lập trình shell trên Unix-Linux Nhập môn hệ điều hành Unix Các toán tử trong shell Các cấu trúc điều khiển trong shell Nguyễn Hải Châu Khoa Công nghệ Thông tin Trường Đại học Công nghệ Đại học Quốc gia Hà Nội (Bài giảng tuần 5) Các toán tử string Các toán tử string Toán tử Chức năng ${var:+ word} Nếu biến tồn tại và xác định thì trả về word, còn không thì trả về null ${var:- word} Nếu biến tồn tại và xác định thì trả ${var:?message} Nếu biến tồn tại và xác định thì trả về giá trị của nó, nếu không thì về giá trị của nó, còn không thì trả về word hiển thị “bash: $var:$message” và ${var:= word} Nếu biến tồn tại và xác định thì trả thoát ra khỏi lệnh/tập lệnh hiện về giá trị của nó, nếu không thì thời. gán biến thành word, sau đó trả ${var: Trả về một xâu con của var bắt đầu về giá trị của nó offset[:length]} tại offset của độ dài length. Nếu length bị bỏ qua, toàn bộ xâu từ offset sẽ được trả về. Ví dụ minh họa toán tử string Ví dụ (tiếp) Xét một biến shell tên là status được khởi tạo giá trị Bây giờ sử dụng lệnh unset để xoá biến status, và thực “defined”. Sử dụng các toán tử string cho kết quả hiện vẫn các lệnh đó, được output như sau: status như sau: unset status echo ${status:-undefined} echo ${status:-undefined} defined undefined echo ${status:=undefined} echo ${status:=undefined} undefined defined echo ${status:+undefined} echo ${status:+undefined} undefined undefined unset status echo ${status:?Dohhh\! undefined} echo ${status:?Dohhh\! undefined} defined bash:status Dohhh! Undefined 1 Các toán tử pattern-matching Các toán tử pattern-matching Toán tử Chức năng ${var%%patt Xoá bỏ phần khớp dài nhất của ern} pattern ở cuối var và trả về phần ${var#pattern} Xoá bỏ phần khớp (match) ngắn còn lại nhất của pattern trước var và trả ${var/pattern/ Thay phần khớp dài nhất của pattern về phần còn lại string} trong var bằng string. Chỉ thay phần ${var##pattern} Xoá bỏ phần khớp (match) dài nhất khớp đầu tiên. Toán tử này chỉ có của pattern trước var và trả về trong bash 2.0 hay lớn hơn. phần còn lại ${var//pattern Thay phần khớp dài nhất của pattern ${var%pattern} Xoá bỏ phần khớp ngắn nhất của /string} trong var bằng string. Thay tất cả pattern ở cuối var và trả về phần các phần khớp. Toán tử này có còn lại trong bash 2.0 hoặc lớn hơn. Ví dụ: Tách tên thư mục/tệp Ví dụ: Tách tên thư mục/tệp #!/bin/bash Kết quả: ########################### ${myfile##*/} = ide.txt myfile=/usr/src/linux/Documentation/ide.txt basename $myfile = ide.txt echo ‘${myfile##*/}=’ ${myfile##*/} ${myfile%/*} = /usr/src/linux/Documentation echo ‘basename $myfile =’ $(basename dirname $myfile = $myfile) /usr/src/linux/Documentation echo ‘${myfile%/*}=’ ${myfile%/*} echo ‘dirname $myfile =’ $(dirname $myfile) Các toán tử so sánh chuỗi Các toán tử so sánh số học Toán tử Ý nghía Toán tử Ý nghĩa str1 = str2 str1 bằng str2 -eq bằng str1 != str2 str1 khác str2 -ge lớn hơn hoặc bằng -n str str có độ dài lớn hơn 0 -gt lớn hơn (khác null) -le nhỏ hơn hoặc bằng -z str str có độ dài bằng 0 (null) -lt nhỏ hơn -ne khác 2 Điều khiển luồng trong shell Cấu trúc rẽ nhánh if Các cấu trúc điều khiển luồng của bash bao gồm: ...
Tìm kiếm theo từ khóa liên quan:
Hệ điều hành Unix Bài giảng Hệ điều hành Unix Nhập môn Hệ điều hành Unix Lập trình shell Toán tử trong shell Cấu trúc điều khiển trong shellTài liệu liên quan:
-
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 195 0 0 -
Giáo trình Hệ điều hành Linux và Unix
214 trang 125 0 0 -
Câu hỏi ôn tập trắc nghiệm Hệ điều hành Linux
15 trang 70 0 0 -
Giáo trình Nhập môn quản trị hệ thống Linux
145 trang 46 0 0 -
Một số điểm mới trong kết nối mạng của Windows Server 2008 R2
12 trang 33 0 0 -
Quản trị Linux 1 - Hướng dẫn thực hành
56 trang 30 0 0 -
Bài giảng Linux và phần mềm mã nguồn mở - Chương 15: Lập trình Shell
38 trang 29 0 0 -
Giáo trình Hệ điều hành Unix - Linux
212 trang 28 0 0 -
Quản lý giấy phép mặc định của UNIX với adduser và umask
3 trang 28 0 0 -
Báo cáo tiểu luận intel xeon 6000
34 trang 27 0 0