Chương 7: Hệ điều hành Linux - Bash shell - Pdf 13

1
Hệ điều hành Linux
Lê Đình Long

2
Chương 7
BASH shell
3
Nội dung
Linux Fundamentals

Gọi thực thi bash shell

Biến shell

Gán tắt (alias) lệnh

Tùy biến môi trường

Điều khiển tác vụ (job)

Lập trình shell

Tác vụ tự động
HCMUNS
4
Gọi thực thi bash shell
Linux Fundamentals
bash [options] [file]
-i: interactive
-l: login shell

unset – hủy biến shell

export – export biến cho môi trường thực thi
của các lệnh sau đó
HCMUNS
6
Biến môi trường
Linux Fundamentals

Đ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
HCMUNS
7

. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:/usr/local/bin:$HOME/bin:.
export PATH
HCMUNS
9
Điều khiển tác vụ
Linux Fundamentals

Một tác vụ (job) là một tiến trình đang thực thi
Lệnh điều khiển tác vụ

^C thoát ngang

^Z tạm ngừng

jobs liệt kê các tác vụ đang thực thi

fg tiếp tục tác vụ ở foreground

bg,& tiếp tục tác vụ ở background
HCMUNS
1
0
Ví dụ về điều khiển tác vụ
Linux Fundamentals
$ cat
^Z
[1]+ Stopped cat

Shell script
Linux Fundamentals

File văn bản text 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
HCMUNS
1
3
Chương trình “Hello”
Linux Fundamentals
$ 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:
Linux Fan
Hello Linux Fan, have a nice day!


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

$n tham số thứ n
$ ./myscript source dest
$0 -> ./myscript
$1 -> source
$2 -> dest
HCMUNS
1
6
Một số biến đặc biệt
Linux Fundamentals

$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ề (exit code) của lệnh background
ngay trước đó
HCMUNS
1
7
Thay thế lệnh
Linux Fundamentals

Thực thi lệnh và lấy kết quả xuất của lệnh đặt tại

[ expression ]
test expression

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

So sánh số: -eq, -ne, -lt, -le, -gt, -ge

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

Toán tử luận lý: !, -o, -a
[ string1 = string2 ]
[ $num -lt 10 ]
test ! -d mydir && mkdir mydir
[ -f myfile -a -x myfile ] && ./myfile
HCMUNS
2
0
Phát biểu điều kiện
Linux Fundamentals

Phát biểu IF
if [ exp ]; then
statements;
elif [ expr ]; then
statements;
else
statements;
fi
HCMUNS


2)
echo “Hai”;;
*)
echo “So khac”;;
esac
2
2
Phát biểu lặp
Linux Fundamentals

Phát biểu FOR
Dạng 1: for var [in list]; do
statements;
done
Dạng 2: for ((exp1; exp2; exp3)); do
statements;
done

Ví dụ
let “sum = 0”
for num in 1 3 5; do
let “sum = $sum + $num”
done
echo $sum
HCMUNS
2
3
Phát biểu lặp(tt)
Linux Fundamentals


2
5
Hàm
Linux Fundamentals

Khai báo hàm
func_name() {
statements;
}

Gọi hàm
func_name param1 param2

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


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status