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

Cấu hình Unix shell

34 191 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 đề Cấu hình Unix shell
Người hướng dẫn Nguyễn Thành Long, PTS.
Trường học Trường Đại học Công nghiệp Thực phẩm TP.HCM
Chuyên ngành Quản trị mạng
Thể loại Chương
Năm xuất bản 2012
Thành phố Hồ Chí Minh
Định dạng
Số trang 34
Dung lượng 1,33 MB

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

Nội dung

unix shell

Trang 1

CHƯƠNG II

UNIX SHELL

GV : Nguyễn Thành Long Mail : ntlong@fit.hcmus.edu.vn

Trang 2

NÔÔI DUNG

 Giới thiệu về shell

 Biến trong shell

 Tạo shell script

Trang 3

SHELL LÀ GÌ ?

 Shell là một chương trình giao tiếp giữa người sử dụng và hệ thống Linux bằng lệnh

 Một số shell thông dụng: bash, ash, bsh, csh, ksh, tcsh và nologin

 Xem shell đang sử dụng: echo $SHELL

 Tham số shell mặc định của một user thể hiện trong file /etc/passwd

Trang 4

CÁC FILE SHELL

/etc/profile – file khởi động cho tất cả user, thực thi đối với login shell (tự động thực thi khi

login vào máy)

~/.bash_profile – file khởi động cho từng user, thực thi đối với login shell

~/.bashrc – file khởi động cho từng interactive shell không phải là login shell

~/.bash_logout – file dọn dẹp khi thoát khỏi login shell

Trang 5

KHAI BÁO BIẾN

 Dùng trong lập trình shell và điều khiển môi

trường thực thi (environment)

Gán giá trị cho biến: var_name=value

Truy xuất giá trị của biến: $var_name

$ foo=”xin chao”

$ echo $foo

Trang 6

KHAI BÁO BIẾN

set – liệt kê các biến shell đã được định nghĩa

unset – hủy biến shell

export – export biến trở thành biến môi trường (có giá trị trong các shell và

process khác)

Trang 7

BIẾN MÔI TRƯỜNG

 Ðiều khiển môi trường thực thi lệnh

 Một số biến môi trường thông dụng:

HOME thư mục home

SHELL chương trình shell hiện tại

PATH đường dẫn để tìm các file thực thi

USER tên user login

TERM kiểu terminal hiện tại

DISPLAY khai báo hiển thị cho X-Window

PS1 dấu nhắc dòng lệnh

LANG ngôn ngữ hiện tại

Trang 8

BIẾN MÔI TRƯỜNG

Mô ôt số biến đă ôc biê ôt

 $0 tên của shell script / chương trình

 $$ PID của shell hiện tại

 $? mã trả về (exit code) của lệnh foreground ngay trước đó

 $! mã trả về của lệnh background ngay trước đó

Trang 9

SHELL SCRIPT

 File văn bản (thường có phần mở rộng sh) chứa các lệnh (lệnh shell và chương trình)

 Ðược thông dịch bởi shell

 Có thể được gọi trong chính shell script khác

 Tham số được truyền trên dòng lệnh

 Dòng đầu thường có dạng #!/bin/bash

Ghi chú: Dùng dấu #

Trang 10

VÍ DỤ “HELLO.SH”

$ cat > hello.sh

#!/bin/bash

# This is a comment: simple hello shell script

echo "Enter your name:"

Trang 11

VÍ DỤ “HELLO.SH”

Sửa lỗi : Permission denied

Trang 12

THAM SỐ VỊ TRÍ

 Tham số được truy xuất thông qua vị trí của nó

 Tham số vị trí có thể được gán lại bằng lệnh “set”

 Các biến nội thao tác với tham số vị trí:

$# số tham số được truyền

$* tất cả các tham số

$n tham số thứ n

Trang 13

THAM SỐ VỊ TRÍ

Trang 14

THAY THẾ LÊÔNH

 Thưc thi lệnh và lấy kết quả xuất của lệnh đặt tại vị trí hiện tại

 Dùng nháy ngược (back-stick “` `”) hoặc $( )

Trang 15

BIỂU THỨC SỐ HỌC

 Dùng let, expr hoặc $(( )) để gán

 Phép toán số học: ++, , +, -, *, /, %, ==, !=, >,<, &&, ||,

let “a = 1 + 1” (a = 2)

a=`expr $a “*” 6` (a = 12)

a=$(($a “/” 4)) (a = 3)

let “area = $len * $width”

let “percent = $num / 100”

let “remain = $n % $d”

Trang 16

BIỂU THỨC ĐIỀU KIÊÔN

[ expression ]

test expression

 So sánh chuỗi: =, !=, -n, -z

 So sánh số: -eq (=), -ne(not =), -lt (<), -le (<=), -gt (>), -ge (>=)

 Kiểm tra file: -d, -f, -x, -e

 Toán tử luận lý: !, -o, -a

Trang 17

BIỂU THỨC ĐIỀU KIÊÔN (tt)

 [ string1 = string2 ]

 [ $num -lt 10 ]

 test ! -d mydir && mkdir mydir

 [ -f myfile -a -x myfile ] && /myfile

Trang 18

read num else

let “num = $1”

fi

Trang 19

BIỂU THỨC CASE

echo “Mot”;;

2) echo “Hai”;;

*) echo “So khac”;;

esac

Trang 20

VÒNG LĂÔP FOR

Dạng 1: for var [in list]; do

Trang 21

VÒNG LĂÔP WHILE

let “num = $num + 2”

done

Trang 22

CÁC ĐIỀU KIÊÔN KHÁC

 BREAK – thoát khỏi vòng lặp

 CONTINUE – bỏ qua phần còn lại của vòng lặp

 EXIT – thoát khỏi shell script

 RETURN – trở về từ hàm hoặc shell script

Trang 23

func_name param1 param2

Truy xuất các tham số: $1, $2,

Kiểm tra cú pháp: $ sh -n myscript

 Hiển thị tên lệnh và các tham số khi thực thi

$ sh -x myscript

Trang 24

VÍ DỤ HÀM

Trang 25

CÁC LÊÔNH NÂNG CAO

 Xử lí chuỗi & màu sắc

Trang 26

XỬ LÝ MẢNG

 Khai báo: array[xx] hoặc

declare –a array

 Truy xuất ${array[i]}

 ${array[@]} hoăăc ${array[*]}: lấy tất cả phần tử của mảng

 ${#array[@]} hoặc ${#array[*]}: tổng số phần tử của mảng

 Xóa mảng: unset array[1]

 Cách khác: Array=( [xx]=XXX [yy]=YYY )

Trang 27

XỬ LÝ CHUỖI

Chiều dài chuỗi : ${#string}

expr length $string

Trang 28

XỬ LÝ CHUỖI (tt)

Xóa chuỗi con: ${string#substring}

${string##substring}

Thay thế chuỗi

${string/substring/replacement}

${string//substring/replacement}

Trang 29

ĐỌC NHIỀU DÒNG

Trang 30

DEBUG SHELL

 Dùng lệnh sh -x <tên file>,

ví dụ:

sh -x SoNT.sh

Trang 31

CẮT CHUỖI - CUT

Trang 32

CẮT CHUỖI - AWK

 Cú pháp: in ra trường thứ n

awk -F<ký tự ngăn cách> ‘{ print $n}’

 Mặc định ký tự ngăn cách là các khoảng trắng

 Ví dụ: lấy danh sách các user trong group “root”

cat /etc/group | grep ^root | awk -F”;” ‘{ print $4 }’ | tr “,” “ “

Trang 33

BÀI TÂÔP SHELL

1. Viết chương trình shell đơn giản cho phép tạo 1 thư mục ngoài “Desktop”

2. Viết chương trình nhâăp vào 1 số nguyên n, kiểm tra xem n có phải là số nguyên tố hay không ?

3. Viết chương trình nhâăp vào số nguyên n, xuất ra tất cả các số chính phương bé hơn n.

4. Viết chương trình giải phương trình bâăc 2.

5. Viết chương trình giải hêă phương trình bâăc 1

Ax + b y = 0

Cx + dy = 0

BÀI TÂôP LÀM TẠI LỚP

Trang 34

Hỏi và Đáp

Q & A

Ngày đăng: 23/05/2014, 11:45

w