1. Trang chủ
  2. » Công Nghệ Thông Tin

shell programming in unix

42 258 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Shell Programming in Unix
Tác giả Hai Dang
Trường học Trường Đại học Mở Hà Nội
Chuyên ngành Công nghệ Thông tin
Thể loại Báo cáo môn học
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 42
Dung lượng 1,37 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Nội dung• Đặc trưng của Shell scripts • Các biến của script • Các lệnh nội trú built-in • Các cấu trúc điều khiển • Các hàm • Gỡ rối debug... Cấu trúc của shell-script– Có thể xen commen

Trang 1

Shell Programming in Unix

Trang 2

Nội dung

• Đặc trưng của Shell scripts

• Các biến của script

• Các lệnh nội trú (built-in)

• Các cấu trúc điều khiển

• Các hàm

• Gỡ rối (debug)

Trang 4

Đặc trưng của shell script

• Các shell khác nhau không tương thích hoàn

• #chmod u+x <tên chương trình>

• #<tên chương trình> [tham_số …]

Trang 5

Cấu trúc của shell-script

– Có thể xen comment vào bất cứ đâu

– Chỉ thị shell là 1 comment đặc biệt

• Code

– Lệnh shell với cùng syntax như khi gõ trực

Trang 6

Các biến trong file script

• Truy xuất biến

– $<tên_biến>

– ${<tên_biên>}

Trang 7

Các biến trong file script

• Biến môi trường

– Gồm các chữ cái hoa

– Được liệt kê trong file profile trong thư mục riêng

Trang 8

Biến môi trường

• HOME Thư mục riêng của người dùng,

• MAIL Thư mục chứa hộp thư người dùng,

• SHELL Đường dẫn của shell (/bin/sh hoặc /bin/ksh)

• TERM Số hiệu gán cho trạm cuối,

• USER Tên người dùng đã vào hệ thống

• PATH

• PS1

• PS2

• PWD

Trang 9

Biến tự động

• Cho phép gọi script với các tham số trên

dòng lệnh

– $0 Tên của script

– $1-$9 9 tham số đầu tiên

Trang 11

Giá trị ngầm định cho tham số

• ${var:-value}

– Nếu var không được định nghĩa thì gán cho nó giá trị value

– Qui định giá trị ngầm định cho tham số vắng mặt

Trang 12

Lệnh shift

• Trượt các tham số 1 bậc sang trái

– Lấy các tham số >9 vào các $i

Trang 14

$* vs $@

• % /foo "arg1" "two words" "arg3"

– $@ : danh sách gồm 4 từ : "arg1", "two",

"words", "arg3"

– $* : danh sách gồm 3 từ : "arg1", "two

words", "arg3"

Trang 15

Sử dụng biến trong bash

• Các phép toán trên biến

Trang 16

Sử dụng biến …(tiếp)

• Toán tử nhận dạng mẫu trong

Trang 17

Lệnh nội trú của shell

• Không cần tạo process con khi chạy (nằm

trong mã của shell)

– cd, set,

• Nhận biết lệnh nội trú hay không

– type <command>

Trang 19

Lệnh nội trú – echo (tiếp)

• Hai script sau đây là tương đương

Trang 20

Lệnh nội trú - read

• Đọc từ bàn phím vào các biến

– read variable-list

• Từ đầu tiên được đọc vào biến đầu tiên

• Số biến không đủ: tất cả vào biến cuối cùng

• Ví dụ

% cat foo

#!/bin/sh

read var1 var2

echo "First word : $var1"

echo "The rest : $var2"

% /foo

Unix MS-DOS Windows 95 Windows NT MacOS

First word : Unix

Trang 21

Lệnh nội trú - set

• set `<lệnh>`

– Không hiện lên màn hình kết quả thực hiện `<lệnh>`– Kết quả được gán tương ứng cho các biến tự động (từ $1 trở đi)

Trang 23

– command [options] parameters

• «then», «else», «fi»: commands

Trang 25

• command1 || command2

if ! command1

then

command2 fi

Trang 26

Lệnh test

• Kiểm tra một điều kiện

– Sử dụng trong nhiều cấu trúc của shell

• Kiểm tra nhiều điều kiện

– Kiểm tra tệp

– Biểu thức số

– Biểu thức logic

Trang 27

Lệnh test (tiếp)

• Kiểm tra tệp

Trang 28

Lệnh test (tiếp)

• Biểu thức số

Trang 29

Lệnh test (tiếp)

• Biểu thức logic

Trang 30

Lệnh test Cách sử dụng

echo hello world fi

Trang 32

Cấu trúc điều khiển

read answer case "$answer" in

Y* | y* ) ANSWER="YES" ;; N* | n* ) ANSWER="NO" ;;

b?? ) ANSWER="BOF" ;;

* ) ANSWER="MAYBE" ;; esac

echo $ANSWER

Trang 33

Cấu trúc lặp while, for, until

• While

while condition

do

commands1 done

• until

until condition do

commands1 done

• For

for variable in list

do

commands1

Trang 34

Ví dụ vòng lặp while

Trang 35

Ví dụ vòng lặp For

Trang 36

Ví dụ vòng lặp Until

Trang 37

break command

• break hoặc break n

– Thoát khỏi 1 hoặc n vòng lặp (lồng nhau)

Trang 38

continue command

• continue hoặc continue n

– Tiếp tục vòng lặp sau (hoặc vòng ở tầng n)

done

Trang 39

Định nghĩa hàm

• 2 cách định nghĩa hàm

– Tường minh

function foo {

commands

}

– Thông thường

foo() { commands }

Trang 40

Sử dụng hàm định nghĩa

• <Tên_hàm> [tham_số]

– Các biến $1…$9 được gán bằng giá trị tham số

– $*, $@ được gán cho danh sách các tham số

– Không có khái niệm biến local

Ngày đăng: 09/05/2014, 08:45

TỪ KHÓA LIÊN QUAN