Tài liệu Giáo trình-lập trình shell trên linux

  • Số trang: 28 |
  • Loại file: PDF |
  • Lượt xem: 137 |
  • Lượt tải: 1
quangtran

Đã đăng 3721 tài liệu

Mô tả:

CHƢƠNG 11 LẬP TRÌNH SHELL TRÊN LINUX Nội dung 1. 2. 3. 4. 5. 6. 7. 8. Tổng quan. Trình biên dịch GNU. Giới thiệu về shell scripting. Những tính năng của shell. Cấu hình môi trƣờng đăng nhập. Điều khiển Shell. Cú pháp ngôn ngữ shell. Các ví dụ minh họa. 1. Tổng quan  Shell là chƣơng trình luôn đƣợc thực thi khi ngƣời dùng đăng nhập vào hệ thống.  Shell Linux hỗ trợ một tập lệnh mà có thể kết hợp chúng lại thành một script hay thành một chƣơng trình có thể sử dụng nhiều lần.  Thiếu sót chính của ngôn ngữ script là những lệnh này phải thông dịch lại mỗi lần script thực thi.  Linux cung cấp nhiều tiện ích là những trình thông dịch cho ngôn ngữ C, C++, debugger, công cụ tổ chức project và công cụ quản lý code. 2. Trình biên dịch GNU C  GNU C Compiler (GCC) đi với Slackware Linux là một trình biên dịch với ANSI C có đầy đủ hàm. Cú pháp để khởi động GCC : Cú pháp : #gcc [option] [filenames]  Trong trƣờng hợp sử dụng gcc mà không có tùy chọn nào thì nó sẽ tạo ra tập tin a.out. Nếu muốn đặt một tên khác thì sử dụng tùy chọn -o. Ví dụ : #gcc sample.c #gcc -o sample sample.c 3. Giới thiệu về shell scripting.  Shell là một cầu nối giao tiếp giữa ngƣời dùng và hệ điều hành Linux.  Shell có sẵn nhƣ Bourne Again Shell (bash), Public Domain Korn Shell (pdksh) và tcsh shell.  Mỗi user sẽ đƣợc copy một shell để làm việc với kernel. Giới thiệu về shell scripting (tt).  Shell nhƣ là một thông dịch lệnh : Login vào máy tính -> hiển thị dấu shell -> user gợi ý một lệnh -> shell đọc lệnh -> shell tìm kiếm tập tin tƣơng ứng trong cây thƣ mục, shell tải tiện ích vào bộ nhớ -> shell thực thi tiện ích -> trở lại dấu nhắc. Nếu tập tin không tìm thấy, shell đƣa ra một thông báo lỗi và hiển thị lại dấu nhắc. Giới thiệu về shell scripting (tt).  Chúng ta có thể thay đổi shell mặc định sang một shell khác với sự trợ giúp của lệnh chsh. [root@localhost /etc]#chsh Changing shell for root Password:****** New shell [/bin/bash]: /bin/sh Shell changed  Shell scripts : Các tập tin chứa nhiều lệnh và có thể thực thi đƣợc gọi là shell scripts. 4. Những tính năng của shell.           Xử lý tƣơng tác (Interative processing). Chạy nền (Background). Chuyển hƣớng (Redirection). Ống dẫn (Pipe). Tập tin lệnh (Shell scripts). Biến (Shell variables). Dùng lại các lệnh đã thực hiện (Command history). Cấu trúc lệnh nhƣ ngôn ngữ lập trình. Tự động hoàn tất tên tập tin hoặc lệnh. Bí danh cho lệnh (Command alias). 5. Cấu hình môi trƣờng đăng nhập.  Khi đăng nhập vào hệ thống, ngƣời dùng sẽ làm việc trong môi trƣờng do Linux định nghĩa sẵn. Tuy nhiên, chúng ta có thể thay đổi các thiết lập này theo ý riêng của mình. Môi trƣờng làm việc gồm hai thành phần : • Môi trƣờng terminal. • Môi trƣờng shell. Lƣu ý : Muốn xác lập những biến môi trƣờng, chúng ta thay đổi trong tập tin .bash_profile (nếu chạy shell bash), trong tập tin .logon (nếu chạy shell C) và trong tập tin .profile (nếu chạy shell Bourne). 6. Điều khiển Shell.  Điều khiển Shell từ dòng lệnh : • Chúng ta sử dụng nhiều lệnh trên một dòng cách nhau bằng dấu chấm phẩy (;).  Điều khiển Shell từ tập tin lệnh : • Cách 1: #/bin/sh filename Ví dụ : #/bin/sh hello • Cách 2: Cấp quyền thực thi (excute) cho tập tin. #chmod +x filename #/path/filename 7. Cú pháp ngôn ngữ shell. Biến môi trƣờng. Những biến xây dựng sẵn. Những biến do user định nghĩa. Cách tạo biến : Những biến không cần phải khai báo. =  Cách truy cập những giá trị của biến. Variable1=$(variable2)     Cú pháp ngôn ngữ shell (tt)  Nhập giá trị cho một biến. #read variable  Biến cục bộ và toàn cục.  Biến môi trƣờng. • HOME : Chứa thƣ mục ngƣời dùng. • PATH : Danh sách thƣ mục tìm kiếm. • PS1 : Dấu nhắc hiển thị lệnh.  Những biến đƣợc xây dựng sẵn. • $# • $0 • $* : Tổng số tham số. : Tên tập tin lệnh. : Danh sách tham số đầy đủ. Cú pháp ngôn ngữ shell (tt)  Cấu trúc rẽ nhánh if : if then command1 [else command2] fi Cú pháp ngôn ngữ shell (tt) if then command1 elif < control command > then command2 [else command3] fi Cú pháp ngôn ngữ shell (tt)  Cấu trúc lựa chọn case : case in value1) command1 ;; valueN) commandN ;; esac Cú pháp ngôn ngữ shell (tt)  Lệnh kiểm tra : [expression] • Kiểm tra tập tin : –r file : đúng nếu file tồn tại và có thể đọc. –w file : đúng nếu file tồn tại và có thể ghi. –x file : đúng nếu file tồn tại và có thể thực thi. –f file : đúng nếu file tồn tại. –d file : đúng nếu file là một thƣ mục . –e file : đúng nếu file tồn tại trên đĩa. Cú pháp ngôn ngữ shell (tt) • So sánh hai số : n m –eq –ne –gt –lt –ge –le : : : : : : giá giá giá giá giá giá trị trị trị trị trị trị của n và m bằng nhau. của n và m không bằng nhau. của n lớn hơn m. của n nhỏ hơn m. của n lớn hơn hay bằng m. n nhỏ hơn hay bằng m. Cú pháp ngôn ngữ shell (tt) • So sánh hai chuỗi : p q = != : kiểm tra rằng hai chuỗi bằng nhau. : kiểm tra hai chuỗi không bằng nhau. p1 –z –n : đúng nếu chuỗi p1 có chiều dài là 0. : đúng nếu chuỗi p1 có chiều dài khác 0. Cú pháp ngôn ngữ shell (tt) • So ! –a –o sánh toán tử logic : : để phủ định một mệnh đề logic. : AND. : OR. Cú pháp ngôn ngữ shell (tt)  Lệnh expr : Trong biểu thức, các toán tử và toán hạng phải cách nhau bởi khoảng trắng | hoặc & và < nhỏ hơn <= nhỏ hơn hay bằng + cộng \* nhân = bằng nhau > lớn hơn >= lớn hơn hay bằng != khác nhau - trừ / chia  Expr không hỗ trợ tính toán trên số thực.
- Xem thêm -