Lập trình một cấu trúc có điều kiện:

Một phần của tài liệu giáo trình hệ điều hành unix (Trang 54 - 55)

Bài 11 Lập trình mức cơ sở dưới UN

11.2 Lập trình một cấu trúc có điều kiện:

11.2.1 Cấu trúc có điều kiện : a)if then else fi if command1 then command2 else command3 fi Giải thích:

Nếu giá trị trả về sau khi thực hiện command1 là 0 (đúng) thì thực hiện command2,

nếu không thì thực hiện command3 kết thúc

Thí dụ:

if test -f file1

then echo “file exists”

else echo “file does not exist”

fi

Chú thích: không bắt buộc phải dùng else

if [-w file1]

then echo “message” >> file1

fi

b) Cấu trúc lồng (nested)

Ta có thể lồng các cấu trúc điều kiện với nhau. Khi đó:

else if thành elif

Thí dụ:

if test -f file1

then echo “file exists”

elif test -d file1

then echo “file is a directory”

fi

trong trường hợp này fi là chung.

Chú ý: cú pháp sau cũng có thể dùng được:

if then else if

else fi

c) Các toán tử | | và &&

Trong trường hợp điều kiện đơn giản, có thể dùng toán tử hoặc logic ||, hoặc toán tử và logic && để lập trình cấu trúc.

command1 && command2

Nếu command1 được thực hiện tốt, thì thực hiện command2, nếu không thì ra.

command1 || command2

Nếu command1 được thực hiện tốt, thì ra, nếu không, thì thực hiện command2. Chú ý: có thể dùng dấu ngoặc đơn để gộp các lệnh

Thí dụ:

test -d demo && echo “demo is a directory”

test -d demo || echo “demo is not a directory”

(test -d demo && ls -l demo) || echo “demo not ok” 11.2.2 Rẽ nhánh trong phép chọn một trong nhiều giá trị:

Dùng cấu trúc:

case in esac

Cấu trúc trên cho phép chọn một trong nhiều xâu ký tự và thực hiện các lệnh liên quan đến xâu đó. case $variable in string1) cmd1 cmd2 ……… ;; string2) cmd1 cmd2 ……… ;;

string3 | string4) commands

;;

esac

Chú ý: có thể dùng các metacharacter của shell để biểu diễn xâu ký tự,

| có nghĩa là hoặc

Một phần của tài liệu giáo trình hệ điều hành unix (Trang 54 - 55)