YOMEDIA
Bài giảng Linux: Chương 3 - Âu Bửu Long, Lê Minh Triết
Chia sẻ: Lavie Lavie
| Ngày:
| Loại File: PDF
| Số trang:29
88
lượt xem
4
download
Download
Vui lòng tải xuống để xem tài liệu đầy đủ
Bài giảng Linux: Chương 3 - Linux Shell Script được biên soạn nhằm mục tiêu giúp cho các bạn biết được vai trò của Linux Shell; quá trình thông dịch lệnh Shell; khởi tạo biến Shell; biến môi trường Shell; viết Shell Script. Mời các bạn tham khảo.
AMBIENT/
Chủ đề:
Nội dung Text: Bài giảng Linux: Chương 3 - Âu Bửu Long, Lê Minh Triết
- Linux Shell Script
Âu Bửu Long – Lê Minh Triết
Phiên bản 2014
- Mục tiêu
• Vai trò của Linux Shell
• Quá trình thông dịch lệnh Shell
• Khởi tạo biến Shell
• Biến môi trường Shell
• Viết Shell Script
- Đại cương về Shell
• Hệ Shell:
• Giúp tương tác giữa người dùng và hệ thống
• Shell Linux hỗ trợ một tập lệnh mà có thể kết hợp chúng lại thành
một script hay thành một chương trình có thể sử dụng nhiều lần.
• Thiếu sót chính của ngôn ngữ script là những lệnh này phải thông
dịch lại mỗi lần script thực thi.
• Linux cung cấp nhiều tiện ích là những trình thông dịch cho ngôn ngữ
C, C++, debugger, công cụ tổ chức project và công cụ quản lý code.
• Kiến trúc tương tác với hệ Shell như hình sau
- Đại cương về Shell
- Thông dịch lệnh Shell
1. Đọc lệnh
2. Tìm file thực thi và tham số
3. Load file
4. Thực thi
- Shell Script
• Là một file text
• Lưu các lệnh Shell tuần tự
• Cho phép hệ Shell đọc và thực thi các lệnh
• Cho phép quản lý biến, quản lý các cấu
trúc lập trình.
- Lệnh echo
• Hiển thị một chuỗi lên màn hình.
• Chuỗi có thể đặt trong nháy đơn hoặc kép.
• Mặc định lệnh echo sẽ tự xuống dòng.
• Không xuống dòng: tham số -n
$ echo "This is an example of the echo command"
This is an example of the echo command
$ _
- Thực thi Shell Script
• File script cần có quyền thực thi.
Ví dụ với file script.sh:
chmod u+x script.sh
. script.sh
• Lệnh dùng thực thi một script và giữ nguyên các thay đổi môi
trường mà Script đã tác động sau khi thoát khỏi Script.
• Lệnh exec dùng thực thi một Script, sử dụng shell phụ khác
- Khởi tạo biến
• Biến Shell Script:
• Không cần khai báo kiểu.
• Được xem nghiêm ngặt là chuỗi
• Có thể tính toán được.
• Không cần khai báo tường minh.
• Tự cấp phát sau lần truy xuất đầu tiên.
• Phép gán: =GiáTrị
• Không dùng dấu khoảng trắng giữa tên =GiáTrị
• Khi script kết thúc: Biến được hủy
- Đọc giá trị từ biến và vào biến
• Dùng ký hiệu $ để đọc giá trị của biến
Bien1=${Bien2}
• Ký hiệu ngoặc để giới hạn tên biến
• Đọc giá trị từ bàn phím vào biến: read
$ read
- Biến cục bộ và toàn cục
$ continent=Africa
$ echo "$continent"
Africa
$ bash [Creates a new shell]
$ echo "$continent" [There is no response]
$ continent=Asia [Gives new value Asia to
continent]
$ echo "$continent"
Asia
Press d
$ exit
- Các biến môi trường
• HOME: Thư mục home của user
• PATH: Chứa các biến đường dẫn
• PS1: Ký hiệu dấu nhắc ($)
• PS2: Ký hiệu dấu nhắc (>)
• LOGNAME: Tên login
• SHLVL: Cấp độ shell
• SHELL: Hệ shell mặc định
- Ghi chú, tính toán trên biến
Dấu # dùng để ghi chú trong Script
Lệnh expr dùng để tính toán số học
Ví dụ:
$ expr 4 + 5
Phép nhân sử dụng dấu \*
Chia lấy phần dư %
- Lệnh kiểm tra biểu thức
Lệnh test và [] dùng để ước lượng biểu thức logic
Cú pháp:
test expression hoặc [ expression ]
Các phép so sánh khi kiểm tra chuỗi: =, !=, -n, -z
Các phép so sánh toán học:
-eq (=), -ne (!=), -gt (>), -ge (>=), -lt (
- Lệnh kiểm tra tập tin
Cú pháp: test FILE
Option:
-d file : đúng nếu là thư mục
-e file : tồn tại trên đĩa
-f file : tập tin thông thường
-g file : có xác lập set-group-id trên file
-s file : có kích thước >0
-u file : có xác lập set-user-id
-r file : cho phép đọc
-w file: cho phép ghi
-x file : cho phép thực thi
- Phép AND và phép OR
Cú pháp AND: Cú pháp OR:
Lệnh1 && Lệnh2 Lệnh1 || Lệnh2
Lấy giá trị của một lệnh $(command)
• Ví dụ: Count=$((count+1))
- Câu lệnh if
Câu lệnh if Lệnh if…elif
if if condition(s)
then then command(s)
[else ] elif condition
fi then command(s)
else command(s)
fi
- Lệnh exit
• Dừng thực thi Script và quay về dấu nhắc
• Ví dụ về lệnh exit:
echo "Do you wish to quit?"
read ans
if [ $ans = "y" ]
then exit
fi
- Câu lệnh case
• Cú pháp:
case $variable-name in
value1) command
…
command;;
value2) command
…
command;;
*) command;;
esac
- Câu lệnh while
Câu lệnh while Ví dụ:
reply=y
while
while test "$reply" != "n“
do do
echo –n "Enter file name?"
read fname
done cat ${fname}
echo –n "wish to see more
files :"
read reply
done
Thêm tài liệu vào bộ sưu tập có sẵn:
Báo xấu
LAVA
ERROR:connection to 10.20.1.98:9315 failed (errno=111, msg=Connection refused)
ERROR:connection to 10.20.1.98:9315 failed (errno=111, msg=Connection refused)
Đang xử lý...