Xem mẫu

03/24/2017

LẬP TRÌNH SHELL

NỘI DUNG
1.
2.
3.
4.
5.
6.
7.

Giới thiệu
Soạn thảo, cấp quyền, thực thi
Cú pháp ngôn ngữ Shell
Làm việc với chuỗi và văn bản
Mảng
Hàm
Các lệnh nội tại của Shell

1

03/24/2017

1. Giới thiệu
HĐH cung cấp khả năng giao tiếp với kernel
thông qua trình diễn dịch trung gian à Shell
Chức năng giống “command.com” (DOS)
Các lệnh trong và lệnh ngoài
Kết hợp nhiều tiến trình :
$ls –al | more

Giới thiệu (tt)
Các loại Shell trên Linux
Trình ứng
dụng

csh

Kernel
bash
X window

2

03/24/2017

Giới thiệu (tt)
Các loại Shell trên Linux
◦Bourne shell: còn gọi là sh, do Steve Bourne tạo ra
◦C-shell: còn gọi là csh, đi kèm với BSD UNIX
◦Korn shell: còn gọi là ksh, do David Korn tạo ra
◦Bash (Bourne Again Shell): là shell mặc định của
Linux
◦Người dùng có thể chuyển đổi giữa các shell
◦Ví dụ: chuyển từ bash sang csh, gõ lệnh:
◦$ csh

Giới thiệu (tt)
Sử dụng Shell như ngôn ngữ lập trình: có hai
cách để viết chương trình điều khiển shell
◦Cách 1: Gõ chương trình trực tiếp ngay dòng lệnh
(kể cả các lệnh điều khiển if, for, case, …)
◦Ví dụ:

$for file in *
>do
> if grep –l ‘main()’ $file
> then
>
more $file
> fi
>done

◦Hoặc viết liên tục các lệnh phân cách bởi dấu “;”)
$for file in *;do;if grep –l ‘main()’ $file; then;
more $file;fi;done

3

03/24/2017

Giới thiệu (tt)
◦Cách 2: viết các câu lệnh vào một tập tin và yêu cầu
shell thực thi tập tin này như là một file chương trình
(cần cấp quyền thực thi cho tập tin này mới có thể
thực thi được)
# script tìm trong thư mục hiện hành
# các chuỗi chứa chuỗi “main()”
for file in *
do
if grep –l ‘main()’ $file
then
more $file
fi
Done
exit 0

2. Soạn thảo, cấp quyền, thực thi
Tạo tập tin shell script bằng một trình soạn thảo
văn bản (thông thường, tập tin shell nên có
phần mở rộng là .sh)
Cấp quyền thực thi cho tập tin
Thực thi tập tin

4

03/24/2017

3. Cú pháp ngôn ngữ Shell
Biến
Chuyển hướng vào/ra
Lệnh kiểm tra
Biểu thức tính toán expr
Cấu trúc điều khiển
Danh sách
Lấy về kết quả một lệnh

Sử dụng biến
Biến không cần phải khai báo trước khi sử
dụng
Có phân biệt chữ hoa, chữ thường
Biến trong shell luôn có dạng chuỗi
Gán trị cho biến:
◦Tenbien=giatri (không có khoảng trắng hai bên dấu
=)
◦name=“hung”
◦number=100

5

nguon tai.lieu . vn