Danh mục

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    
Hoai.2512

Hỗ trợ phí lưu trữ khi tải xuống: miễn phí Tải xuống file đầy đủ (4 trang) 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: ...

Tài liệu được xem nhiều: