SlideShare una empresa de Scribd logo
1 de 11
Descargar para leer sin conexión
Trường Đại học Công nghệ Thông tin – ĐHQG TP.HCM
            Khoa Mạng máy tính và Truyền thông
                       -----0-0-----


                 Nhóm Open-Class
                        Bài 7:

       Lập trình shell trên Linux



                                           G.V: Mẫn Văn Thắng
                                       manvanthang@gmail.com
1
Các loại Shell




                 2
Triệu gọi Shell
 Gọi shell từ dòng lệnh
 Gọi shell từ file
    # bash <file_name>
         (thay bash bằng tên của Shell khác, nếu muốn)
    Nếu đang ở thư mục chứa file cần chạy thì gõ lệnh sau
     để gọi Shell hiện hành
                    # ./<file_name>




                                                             3
Biến môi trường
 PATH: lưu trữ các đường dẫn tới các thư mục mà Shell sẽ
  tìm kiếm cho các file thực thi.
 HOME: thư mục chủ.
 HOSTNAME: tên máy tính.
 SHELL: tên shell đang dùng.
  v.v… Biến môi trường là chữ in hoa.
 Gõ echo $<tên_biến> để xem giá trị của biến
 Dùng lệnh env để xem tất cả các biến môi trường của
  người dùng hiện hành.

                                                            4
Sử dụng biến
 Cú pháp khai báo biến
                  <tên_biến>=<giá_trị>
Lưu ý: không có khoảng cách
 Lấy giá trị của biến
                          $<tên_biến>

Biểu thức toán học
 Phép toán expr
 Phép toán so sánh: <,>, !=, =, &&, || ….


                                             5
Lệnh kiểm tra




                6
Lệnh kiểm tra




                7
Phép so sánh




               8
Các lệnh điều khiển
 Lệnh nhập xuất
    echo
    read
 Lệnh rẽ nhánh: if, case
 Lệnh lặp: for, while

Hàm
 Cách tạo hàm
 Cách gọi hàm


                            9
Chương trình ví dụ
 Nhập hai số, tính tổng, hiệu
 Tạo user tự động
 Kiểm tra chương trình đã cài hay chưa
 Kiểm tra thư mục
 Tạo banner khi user đăng nhập thành công


          (source code của các ví dụ đính kèm theo slide)



                                                        10
Q&A




      11

Más contenido relacionado

La actualidad más candente

Lesson 1 - Introduction to Open Source & Linux
Lesson 1 - Introduction to Open Source & LinuxLesson 1 - Introduction to Open Source & Linux
Lesson 1 - Introduction to Open Source & LinuxThang Man
 
Lesson 5 - Administering Linux System (1)
Lesson 5 - Administering Linux System (1)Lesson 5 - Administering Linux System (1)
Lesson 5 - Administering Linux System (1)Thang Man
 
Hệ điều hành
Hệ điều hànhHệ điều hành
Hệ điều hànhĐấy Vợ
 
tài liệu Mã nguồn mở Lap trình tren linux
tài liệu Mã nguồn mở  Lap trình tren linuxtài liệu Mã nguồn mở  Lap trình tren linux
tài liệu Mã nguồn mở Lap trình tren linuxThuyet Nguyen
 
Lesson 2 - Install Linux & Command Line Environment
Lesson 2 - Install Linux & Command Line EnvironmentLesson 2 - Install Linux & Command Line Environment
Lesson 2 - Install Linux & Command Line EnvironmentThang Man
 
Overview of Linux
Overview of LinuxOverview of Linux
Overview of LinuxThang Man
 
Cac lenh co_ban_linux
Cac lenh co_ban_linuxCac lenh co_ban_linux
Cac lenh co_ban_linuxgofriv
 
CHIA SẺ TÀI NGUYÊN TRONG LAN TRÊN NHIỀU HỆ ĐIỀU HÀNH
CHIA SẺ TÀI NGUYÊN TRONG LAN TRÊN NHIỀU HỆ ĐIỀU HÀNHCHIA SẺ TÀI NGUYÊN TRONG LAN TRÊN NHIỀU HỆ ĐIỀU HÀNH
CHIA SẺ TÀI NGUYÊN TRONG LAN TRÊN NHIỀU HỆ ĐIỀU HÀNHlaonap166
 
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)laonap166
 
Linux và mã nguồn mở
Linux và mã nguồn mởLinux và mã nguồn mở
Linux và mã nguồn mởNguyễn Anh
 
Linux2 lap trinhshellchohocvien
Linux2 lap trinhshellchohocvienLinux2 lap trinhshellchohocvien
Linux2 lap trinhshellchohocvienasakebigone
 
Chapter 3 cac phuong phap cap nhat thong tin tren web
Chapter 3 cac phuong phap cap nhat thong tin tren webChapter 3 cac phuong phap cap nhat thong tin tren web
Chapter 3 cac phuong phap cap nhat thong tin tren webxuandiencntt
 
It monitoring with nagios lac tien man thang
It monitoring with nagios lac tien man thangIt monitoring with nagios lac tien man thang
It monitoring with nagios lac tien man thanglaonap166
 

La actualidad más candente (18)

Su dung linux shell
Su dung linux shellSu dung linux shell
Su dung linux shell
 
Lesson 1 - Introduction to Open Source & Linux
Lesson 1 - Introduction to Open Source & LinuxLesson 1 - Introduction to Open Source & Linux
Lesson 1 - Introduction to Open Source & Linux
 
Su dung linux shell
Su dung linux shellSu dung linux shell
Su dung linux shell
 
Lesson 5 - Administering Linux System (1)
Lesson 5 - Administering Linux System (1)Lesson 5 - Administering Linux System (1)
Lesson 5 - Administering Linux System (1)
 
Hệ điều hành
Hệ điều hànhHệ điều hành
Hệ điều hành
 
Linux LPI Bacis
Linux LPI BacisLinux LPI Bacis
Linux LPI Bacis
 
tài liệu Mã nguồn mở Lap trình tren linux
tài liệu Mã nguồn mở  Lap trình tren linuxtài liệu Mã nguồn mở  Lap trình tren linux
tài liệu Mã nguồn mở Lap trình tren linux
 
Lesson 2 - Install Linux & Command Line Environment
Lesson 2 - Install Linux & Command Line EnvironmentLesson 2 - Install Linux & Command Line Environment
Lesson 2 - Install Linux & Command Line Environment
 
Overview of Linux
Overview of LinuxOverview of Linux
Overview of Linux
 
Cac lenh co_ban_linux
Cac lenh co_ban_linuxCac lenh co_ban_linux
Cac lenh co_ban_linux
 
CHIA SẺ TÀI NGUYÊN TRONG LAN TRÊN NHIỀU HỆ ĐIỀU HÀNH
CHIA SẺ TÀI NGUYÊN TRONG LAN TRÊN NHIỀU HỆ ĐIỀU HÀNHCHIA SẺ TÀI NGUYÊN TRONG LAN TRÊN NHIỀU HỆ ĐIỀU HÀNH
CHIA SẺ TÀI NGUYÊN TRONG LAN TRÊN NHIỀU HỆ ĐIỀU HÀNH
 
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
 
Linux04 hethongtaptin
Linux04 hethongtaptinLinux04 hethongtaptin
Linux04 hethongtaptin
 
Linux và mã nguồn mở
Linux và mã nguồn mởLinux và mã nguồn mở
Linux và mã nguồn mở
 
Devel
DevelDevel
Devel
 
Linux2 lap trinhshellchohocvien
Linux2 lap trinhshellchohocvienLinux2 lap trinhshellchohocvien
Linux2 lap trinhshellchohocvien
 
Chapter 3 cac phuong phap cap nhat thong tin tren web
Chapter 3 cac phuong phap cap nhat thong tin tren webChapter 3 cac phuong phap cap nhat thong tin tren web
Chapter 3 cac phuong phap cap nhat thong tin tren web
 
It monitoring with nagios lac tien man thang
It monitoring with nagios lac tien man thangIt monitoring with nagios lac tien man thang
It monitoring with nagios lac tien man thang
 

Similar a Lesson 7 - Linux Shell Programming

Lập trình Shell 1.pdf
Lập trình Shell 1.pdfLập trình Shell 1.pdf
Lập trình Shell 1.pdfCuongLy23
 
Tai lieu lap trinh shell linux unix
Tai lieu lap trinh shell linux   unixTai lieu lap trinh shell linux   unix
Tai lieu lap trinh shell linux unixkaivnit
 
179887496 sdc1-bai tap-javacanban-5
179887496 sdc1-bai tap-javacanban-5179887496 sdc1-bai tap-javacanban-5
179887496 sdc1-bai tap-javacanban-5le dai
 
Sinh vienit.net --tai lieu lap trinh shell linux - unix
Sinh vienit.net --tai lieu lap trinh shell linux - unixSinh vienit.net --tai lieu lap trinh shell linux - unix
Sinh vienit.net --tai lieu lap trinh shell linux - unixQuốc Gunners
 
Python moi
Python moiPython moi
Python moiDÉp LÊ
 
DoThanhNghi2016_Python.pdf
DoThanhNghi2016_Python.pdfDoThanhNghi2016_Python.pdf
DoThanhNghi2016_Python.pdfTamDo58
 
PMMNM.docx
PMMNM.docxPMMNM.docx
PMMNM.docxNgnHng26
 
Buffer overflow(bao cao)
Buffer overflow(bao cao)Buffer overflow(bao cao)
Buffer overflow(bao cao)phanleson
 
Bài 3 Lập trình PHP (phần 1) - Giáo trình FPT
Bài 3 Lập trình PHP (phần 1) - Giáo trình FPTBài 3 Lập trình PHP (phần 1) - Giáo trình FPT
Bài 3 Lập trình PHP (phần 1) - Giáo trình FPTMasterCode.vn
 
Tai lieu huong_dan_ve_lap_trinh_php_7512
Tai lieu huong_dan_ve_lap_trinh_php_7512Tai lieu huong_dan_ve_lap_trinh_php_7512
Tai lieu huong_dan_ve_lap_trinh_php_7512lekytho
 
Cấu trúc hệ điều hành
Cấu trúc hệ điều hànhCấu trúc hệ điều hành
Cấu trúc hệ điều hànhPhamTuanKhiem
 
Bài Tập lập trình Lí thuyết thông tin 3
Bài Tập lập trình Lí thuyết thông tin 3Bài Tập lập trình Lí thuyết thông tin 3
Bài Tập lập trình Lí thuyết thông tin 3vanphong20082002
 
[C] giao trinh c dhbk - viet nhat
[C] giao trinh c   dhbk - viet nhat[C] giao trinh c   dhbk - viet nhat
[C] giao trinh c dhbk - viet nhatHoang Nguyen
 
Lớp học lập trình android tại hà đông
Lớp học lập trình android tại hà đôngLớp học lập trình android tại hà đông
Lớp học lập trình android tại hà đôngEnter Focus
 
bt-mon-lap-trinh-huong-doi-tuong.pdf
bt-mon-lap-trinh-huong-doi-tuong.pdfbt-mon-lap-trinh-huong-doi-tuong.pdf
bt-mon-lap-trinh-huong-doi-tuong.pdfHiNht6
 

Similar a Lesson 7 - Linux Shell Programming (20)

Oop 7
Oop 7Oop 7
Oop 7
 
Lập trình Shell 1.pdf
Lập trình Shell 1.pdfLập trình Shell 1.pdf
Lập trình Shell 1.pdf
 
Tai lieu lap trinh shell linux unix
Tai lieu lap trinh shell linux   unixTai lieu lap trinh shell linux   unix
Tai lieu lap trinh shell linux unix
 
179887496 sdc1-bai tap-javacanban-5
179887496 sdc1-bai tap-javacanban-5179887496 sdc1-bai tap-javacanban-5
179887496 sdc1-bai tap-javacanban-5
 
Sinh vienit.net --tai lieu lap trinh shell linux - unix
Sinh vienit.net --tai lieu lap trinh shell linux - unixSinh vienit.net --tai lieu lap trinh shell linux - unix
Sinh vienit.net --tai lieu lap trinh shell linux - unix
 
Web201 slide 3
Web201   slide 3Web201   slide 3
Web201 slide 3
 
Python moi
Python moiPython moi
Python moi
 
DoThanhNghi2016_Python.pdf
DoThanhNghi2016_Python.pdfDoThanhNghi2016_Python.pdf
DoThanhNghi2016_Python.pdf
 
PMMNM.docx
PMMNM.docxPMMNM.docx
PMMNM.docx
 
Buffer overflow(bao cao)
Buffer overflow(bao cao)Buffer overflow(bao cao)
Buffer overflow(bao cao)
 
ShellProgramming
ShellProgrammingShellProgramming
ShellProgramming
 
Bài 3 Lập trình PHP (phần 1) - Giáo trình FPT
Bài 3 Lập trình PHP (phần 1) - Giáo trình FPTBài 3 Lập trình PHP (phần 1) - Giáo trình FPT
Bài 3 Lập trình PHP (phần 1) - Giáo trình FPT
 
Tai lieu huong_dan_ve_lap_trinh_php_7512
Tai lieu huong_dan_ve_lap_trinh_php_7512Tai lieu huong_dan_ve_lap_trinh_php_7512
Tai lieu huong_dan_ve_lap_trinh_php_7512
 
Cấu trúc hệ điều hành
Cấu trúc hệ điều hànhCấu trúc hệ điều hành
Cấu trúc hệ điều hành
 
Lab lap trinhmang_v3
Lab lap trinhmang_v3Lab lap trinhmang_v3
Lab lap trinhmang_v3
 
Java Tieng Viet
Java Tieng VietJava Tieng Viet
Java Tieng Viet
 
Bài Tập lập trình Lí thuyết thông tin 3
Bài Tập lập trình Lí thuyết thông tin 3Bài Tập lập trình Lí thuyết thông tin 3
Bài Tập lập trình Lí thuyết thông tin 3
 
[C] giao trinh c dhbk - viet nhat
[C] giao trinh c   dhbk - viet nhat[C] giao trinh c   dhbk - viet nhat
[C] giao trinh c dhbk - viet nhat
 
Lớp học lập trình android tại hà đông
Lớp học lập trình android tại hà đôngLớp học lập trình android tại hà đông
Lớp học lập trình android tại hà đông
 
bt-mon-lap-trinh-huong-doi-tuong.pdf
bt-mon-lap-trinh-huong-doi-tuong.pdfbt-mon-lap-trinh-huong-doi-tuong.pdf
bt-mon-lap-trinh-huong-doi-tuong.pdf
 

Lesson 7 - Linux Shell Programming

  • 1. Trường Đại học Công nghệ Thông tin – ĐHQG TP.HCM Khoa Mạng máy tính và Truyền thông -----0-0----- Nhóm Open-Class Bài 7: Lập trình shell trên Linux G.V: Mẫn Văn Thắng manvanthang@gmail.com 1
  • 3. Triệu gọi Shell  Gọi shell từ dòng lệnh  Gọi shell từ file  # bash <file_name> (thay bash bằng tên của Shell khác, nếu muốn)  Nếu đang ở thư mục chứa file cần chạy thì gõ lệnh sau để gọi Shell hiện hành # ./<file_name> 3
  • 4. Biến môi trường  PATH: lưu trữ các đường dẫn tới các thư mục mà Shell sẽ tìm kiếm cho các file thực thi.  HOME: thư mục chủ.  HOSTNAME: tên máy tính.  SHELL: tên shell đang dùng. v.v… Biến môi trường là chữ in hoa.  Gõ echo $<tên_biến> để xem giá trị của biến  Dùng lệnh env để xem tất cả các biến môi trường của người dùng hiện hành. 4
  • 5. Sử dụng biến  Cú pháp khai báo biến <tên_biến>=<giá_trị> Lưu ý: không có khoảng cách  Lấy giá trị của biến $<tên_biến> Biểu thức toán học  Phép toán expr  Phép toán so sánh: <,>, !=, =, &&, || …. 5
  • 9. Các lệnh điều khiển  Lệnh nhập xuất  echo  read  Lệnh rẽ nhánh: if, case  Lệnh lặp: for, while Hàm  Cách tạo hàm  Cách gọi hàm 9
  • 10. Chương trình ví dụ  Nhập hai số, tính tổng, hiệu  Tạo user tự động  Kiểm tra chương trình đã cài hay chưa  Kiểm tra thư mục  Tạo banner khi user đăng nhập thành công (source code của các ví dụ đính kèm theo slide) 10
  • 11. Q&A 11