Tải bản đầy đủ (.pptx) (54 trang)

Chap 4 shellandc programs HỆ ĐIỀU HÀNH LINUX

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (314.94 KB, 54 trang )

LẬP TRÌNH TRÊN LINUX


Giới thiệu







Gọi thực hiện lệnh trong Shell
Biến trong Shell
Câu lệnh alias
Tùy biến môi trường
Điều khiển công việc
Viết chương trình Shell

2


Gọi thực hiện shell
bash [options] [arguments]
• Các tập tin liên quan
– /etc/profile – system initialization file
– ~/.bash_profile(.bashrc) – Khởi tạo biến cá nhân
– ~/.bash_history – Lưu lại các lệnh đã gõ

3



Biến trong shell
• Sử dụng trong lập trình shell và điều khiển môi
trường
• Gán giá trị cho biến: variable_name=value
• Truy cập vào giá trị của biến: $variable_name
$ foo="hello there"
$ echo $foo
hello there

4


Các biến môi trường





HOME – Thư mục nhà
PATH – Đường dẫn tới các tập tin thực thi
USER – Tên người dùng đăng nhập
(command:env)

5


Lập trình shell








Một số thuộc tính Shell
Shell script
Các biến
Biểu thức so sánh
Câu lệnh điều khiển
Hàm(Functions)

6


Một số thuộc tính khác
• Biểu thức toán học
$ let "a = 1 + 1"
$ echo $a
2

7


Các hàm toán học
• Các phép toán: +, -, *, /, %
• Sử dụng Let khi thực hiện các hàm toán học
let "sum = 4 + 3"
let "area = $len * $width"
let "percent = $num / 100"
let "remain = $n % $d"


8


Shell Script
• Là tập tin văn bản chứa các cấu trúc điều khiển
và các lệnh của Shell
• Thông dịch từng hàng trong Shell
• Cấp quyền chạy(execute)
• Có thể gọi từ shell script khác
• Tham số được truyền từ dòng lệnh

9


First Program
$ cat > myscript.sh

#!/bin/sh
echo "Hello, world."

save
myscript.sh

chmod +x myscript.sh
./myscript.sh
./myscript.sh

Hello, Permission
world

bash: ./myscript.sh:
denied

10


"Hello" program
$ cat > hello.sh
#!/bin/bash
# This is a comment: simple hello shell script
echo "Enter your name:"
read name
echo "Hello $name, have a nice day!"
^D
$ ./hello.sh
bash: ./hello.sh: Permission denied
$ chmod +x hello.sh
$ ./hello.sh
Enter your name:
Nam
Hello Nam, have a nice day!
11


Các biến







Các biến môi trường
Các biến xây dựng sẵn(Built-in variables)
Các biến người dùng(User variables)
Biến có thể lưu trữ số hay các ký tự
Chuỗi kỹ tự phải đặt trong dấu nháy kép hay
nháy đơn

12


Vị trí các tham số
• Các tham số được tham chiếu theo vị trí của nó
• Các biến có sẵn trong 1 chương trình shell
– $# - Số lượng tham số truyền vào
– $0 - Tên của shell script
– $* - Trả về tất cả tham số truyền vào
– $n - Tham chiếu đến tham số thứ n(1-9)
• $./myscript source dest
– $0 = ./myscript
– $1 = source
– $2 = dest
13


Các biến đặc biệt
• $$ - ID của tiến trình hiện tại
• $? - Trạng thái kết thúc của tiến trình cuối
cùng


14


Biểu thức so sánh





[ expression ]
So sánh chuỗi ký tự: =, !=, -n, -z
So sánh số: -eq, -lt, -gt, -ne, -le, -ge
Phép toán trên tập tin: -d, -f, -e, -w, -r, -x
Phép toán logic: !, -o, -a
[ s1 = s2 ]
[ $num -lt 100 ]
[ -d mydir ]
[ ! -f myfile ]

15


Câu lệnh điều kiện
• Example
IF statement

if [ $1
expression1
="" ]; then]; then
statement1

echo
"Enter value:"
elif
read
[ expression2
num
]; then
else
statement2
else
let "num = $1"
fi statement3
fi

16


Câu lệnh điều kiện (cont)
• Example
CASE statement

case $1
$var
inin
val1)
1)
statement1;;
echo
"One";;
val2)

2)
statement2;;
echo
"Two";;
*)
statement3;;
echo
"Unknown";;
esac
17


Câu lệnh lặp
• FOR statement
for var [in list]; do
statements
done

• Example
let "sum = 0"
for num in 1 2 3 4 5; do
let "sum = $sum + $num"
done
echo $sum
18


Câu lệnh lặp(cont)
• WHILE statement
while [ expression ]; do

statements
done

• Example
let "num = 0"
while [ $num -lt 10 ]; do
echo $num
let "num= $num + 2"
done
19


Một số câu lệnh khác





BREAK - exit a loop
CONTINUE - skip to end of current while or for loop
EXIT - end the shell script
RETURN - return from funtion or shell script
if [ $# -lt 2 ]; then
echo "Usage: ‘basename $0‘ source dest"
exit 1
fi

20



Hàm
• Function format
function func_name {
statements
}

• Function called
func_name param1 param2 ...
Parameters access
$1, $2, $3, ...

21


Gỡ lỗi (Debugging)
• Hiển thị các câu lệnh và tham số khi chạy câu

lệnh

$ bash -x command

22


Lập Trình C trong Linux


Trình biên dịch: GCC



Giới thiệu
• Ngôn ngữ lập trình C là lựa chọn tốt cho những người
mới học lập trình
• Đơn giản, mạnh và được sử dụng rộng
• Linux là môi trường thích hợp để viết các chương
trình không cần mất chi phí mua các phầm mềm hỗ
trợ lập trình đắt tiền
• Để viết chương trình C
– Trình soạn thảo văn bản(vi,gedit,emacs)
– Trình biên dịch
– Thư viện chuẩn


×