Bài giảng Hệ điều hành Linux - Bài 6: Lập trình shell - Ngô Văn Công
Overview
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
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Hệ điều hành Linux - Bài 6: Lập trình shell - Ngô Văn Công", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Bài giảng Hệ điều hành Linux - Bài 6: Lập trình shell - Ngô Văn Công
Lập trình shell Ngô Văn Công Overview 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 Invoking the Shell bash [options] [arguments] Bash related special files /etc/profile – system initialization file ~/.bash_profile(.bashrc) - personal initialization file ~/.bash_history - record commands history 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 export: export variables to the environment or sub-shells Environment Variables HOME - your home directory SHELL - executable program for the current shell PATH - paths to locate executable files USER - your username TERM - type of current terminal DISPLAY - your X-Window display PS1 - command prompt Aliasing Commands Substituing a string by a word Making commands with simple, short, useful options alias - create or list aliases unalias - remove aliases $ alias alias cp=’cp -i’ alias ll=’ls -l --color=tty’ alias ls=’ls --color=tty’ alias mv=’mv -i’ alias rm=’rm -i’ $ unalias ll Customizing Environment Setting the environment variables Putting them in ~/.bash_profile(.bashrc) for later use 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) Một số thuộc tính khác Biểu thức toán học $ let "a = 1 + 1" $ echo $a 2 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 First Program #!/bin/sh echo "Hello, world." myscript.sh save bash: ./hello.sh: Permission denied ./myscript.sh chmod +x myscript.sh Hello, world ./myscript.sh $ cat > myscript.sh "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: Cong Hello Cong, have a nice day! 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 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 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 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" 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 Phép toán trên tập tin: -d, -f, , -e, -x Phép toán logic: !, -o, -a [ s1 = s2 ] [ $num -lt 100 ] [ -d mydir ] [ ! -f myfile ] Câu lệnh điều kiện IF statement if [ expression ]; then statements elif [ expression ]; then statements else statements fi Example if [ $1 ="" ]; then echo "Enter value:" read num else let "num = $1" fi Câu lệnh điều kiện (cont) CASE statement case $var in val1) statements;; val2) statements;; *) statements;; esac Example case $1 in 1) echo "One";; 2) echo "Two";; *) echo "Unknown";; esac 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 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 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 Hàm Function format function func_name { statements } Function called func_name param1 param2 ... Parameters access $1, $2, $3, ... 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
File đính kèm:
- bai_giang_he_dieu_hanh_linux_bai_6_lap_trinh_shell_ngo_van_c.pdf