Lập trình shell trong linux là một trong những từ khóa được search nhiều nhất về chủ đề lập trình shell trong linux trong bài viết này, lamweb.vn sẽ viết bài Những điều cần biết về lập trình shell trong linux mới nhất 2020
Tóm Tắt
Những điều cần biết về lập trình shell trong linux mới nhất 2020
I. Shell script là gì
Shell là chương trình tiếp xúc với người dùng. Có nghĩa là shell gật đầu những lệnh từ bạn ( keyboard ) và thực thi nó. Nhưng nếu bạn mong ước dùng nhiều lệnh chỉ bằng một lệnh, thì bạn hoàn toàn có thể lưu chuỗi lệnh vào text file và bảo shell thực thi text file này thay vì nhập vào những lệnh. Điều này gọi là shell script .
Định nghĩa: Shell script là một chuỗi các lệnh được viết trong plain text file. Shell script thì như batch file trong MS-DOS nhưng mạnh hơn.
Bạn đang đọc: Những điều cần biết về lập trình shell trong linux mới nhất 2020 – https://final-blade.com
vì sao phải viết shell script :
• Shell script đủ nội lực nhận input từ người dùng, file hoặc output từ màn hình hiển thị .
• tiện nghi để tạo nhóm lệnh riêng .
• cắt giảm thời hạn .
• auto sử dụng một vài việc làm liên tục .
II. Hướng dẫn tạo và thực thi chương trình shell
step1 : Tạo file hello.sh ( trong thư mục cd / home / tuanvh / ) content như sau :
dùng vi, emacs, gedit … Để biên soạn thảo nội dung
#!/bin/bash
echo "hello world"
thể loại thứ nhất tất cả chúng ta luôn đặt # ! / bin / bash, đây là cú pháp bắt buộc. Sau # được hiểu là comment, chú thích của những đoạn mã .
step2 : Sau đó, để script hoàn toàn có thể thực thi ta phải cấp quyền cho nó
chmod 0777 hello.sh
step3 : Thực thi file shell .
// đủ sức chạy file bằng 1 số giải pháp sau
– bash hello.sh
– sh hello.sh
– ./hello.sh
III. Biến trong shell
Trong Linux shell có 2 loại biến :
Biến nền tảng :
- tạo ra và quản lý bởi Linux.
- Tên biến là CHỮ HOA
Biến do người dùng khái niệm
– Tạo ra và quản trị bởi user – Tên biến là chữ thường
1. Một số biến nền tảng
VD : file hello.sh
#!/bin/bash
echo "hello"
echo $BASH_VERSION
echo $BASH
echo $HOME
echo $PATH
Kết quả : run. / hello.sh
hello
4.2.24(1)-release
/bin/bash
/home/vu.huy.tuan
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
2. Biến user, cú pháp, quy tắc đặt tên
cú pháp :
tên_biến=value
- tên_biến phải khởi đầu bằng ký tự
- k có dấu chiêu thức 2 bên toán tử = khi gán giá trị cho biến
#Đúnga=1#saia = 1#saia= 1
- Tên biến có phân biệt chữ hoa, thường
#các biến sau đây là khác nhaua=1
A=2
- Một biến không có giá trị khởi tạo thì bằng NULL
- k được sử dụng dấu ?, * để đặt tên các biến
ECHO Để in giá trị của biến
Cú pháp :
echo[option][string,variables…]#exampleecho $tên_biến
- In một số ký tự đặc biệt trong tham số với tùy lựa chọn -e:
\a alert (bell)
\b backspace
\c suppress trailing new line
\n new line
\r carriage return\t horizontal tab
\\ backslash//example
$ echo-e "Hello\tTuan"#output: Hello Tuan$ echo-e "Hello\nTuan"#outputHello
Tuan
IV : Các phép toán số học
Shell cung ứng cho ta 1 số ít biểu thức toán học .
Cú pháp :
expr toán_hạng_1 toán_tử toán_hạng_2
example :
# phép cộng$expr 1 + 2# phép trừ$expr 5 - 1# phép chia$expr 8 / 3# output =2 phép chia chỉ get phần nguyên$expr 8 Tỷ Lệ 5# output =3 phép chia quét phần dư$expr 10 \* 2 # output = 20 phép nhân
Chú ý: cần có dấu cách trước và sau toán tử.
# example sai cú pháp$expr 1+2
$expr 5- 1
Các dấu ngoặc
- hàng loạt các ký tự trong dấu ngoặc kép đều k có ý nghĩa ñnh toán, trừ những ký tự sau \ hoặc $
- Dấu nháy ngược (`): nghĩa là yêu cầu thực thi lệnh
#example$ echo"ngay hom nay la: `date`"
#ouput: ngay hom nay la: Wed Apr 27 10:43:59 ICT 2016
$ echo `expr 1 + 2`
#output = 3$echo "expr 1 + 2"#ouput: expr 1 + 2
* * Kiểm tra thực trạng trả về của 1 câu lệnh cú pháp
$echo $?
– thực trạng 0 nếu câu lệnh chấm hết thành công xuất sắc. – khác 0 nếu kết thúc có lỗi
# xóa file không tồn tạirm abc.txt #output messge:( rm: cannot remove `abc.txt': No such file or directory )# tra cứu thực trạng câu lệnh rm abc.txt$echo $? #output 1 nghĩa là có lỗi$ echo "ngay hom nay la: `date`"#ouput: ngay hom nay la: Wed Apr 27 10:43:59 ICT 2016$echo $? #output 0, nghĩa là thành công xuất sắc
V : Cấu trúc điều khiển và tinh chỉnh trong shell script
Cũng giống như những ngôn từ lập trình không giống, Shell Scripts cũng phân phối những vòng lặp : “ for ”, “ while ” ; và lệnh rẽ nhánh “ if ”, “ case ” .
1. Cú pháp rẽ nhánh If Cú pháp :
if điều_kiện
then
câu lệnh 1
…
fi
if … else … fi
Cú pháp :
if điều_kiện then
câu_lệnh_1
….elsecâu_lệnh_2
fi
Vòng lặp For
Cú pháp :
for tên biến in listdo# Khối lệnh# Thực hiện từng mục trong mục lục cho đến cho đến hết# (Và lặp lại hàng loạt các lệnh nằm trong "do" và "done")done#hoặc sử dụng forfor (( expr1; expr2; expr3 ))do# Lặp cho đến khi biểu thức expr2 trả về trị giá TRUEdone
example
# for 1for i in 1 2 3 4 5doecho $i
done#output: 1 2 3 4 5#for 2for (( i = 0 ; i <= 5; i++ )) # bao quanh bằng (())doecho $i
done#ouput 1 2 3 4 5
3. Vòng lặp While
while[Điều kiện]docommand1
command2
command3 .. ....
done
example demo1.sh
#!/bin/shecho"Nhap vao cac so can tinh tong, nhap so am de exit"sum=0
read iwhile [ $i -ge 0 ] # nếu i >= 0dosum=`expr $sum + $i`
read i # nhận giá trị từ người dùngdoneecho"Total: $sum."
hiệu quả sau khi chạy. / demo1.sh
#ouput./demo1.sh
Nhap vao cac so can tinh tong, nhap so am de exit1
5
4-1
Total= 10.
VI: Lệnh kiểm tra
Lệnh test được sử dụng để tra cứu một biểu thức là đúng hay k và trả lại
– 0 nếu biểu thức đúng
– không giống 0 sai
Cú pháp :
thanh tra rà soát biểu_thức HOẶC[biểu thức]
Các phép toán test
Mathematical Operator in,Shell Scrip | Meaning | Normal Arithmetical/ Mathematical Statements | ||
---|---|---|---|---|
For thanh tra rà soát statement with if command | For [ expr ] statement with if command | |||
-eq | is equal lớn | 5 == 6 | if test 5 -eq 6 | if [ 5 -eq 6 ] |
-ne | is not equal lớn | 5 != 6 | if tra cứu 5 -ne 6 | if [ 5 -ne 6 ] |
-lt | is less than | 5 < 6 | if kiểm tra 5 -lt 6 | if [ 5 -lt 6 ] |
-le | is less than or equal lớn | 5 <= 6 | if kiểm tra 5 -le 6 | if [ 5 -le 6 ] |
-gt | is greater than | 5 > 6 | if thanh tra rà soát 5 -gt 6 | if [ 5 -gt 6 ] |
-ge | is greater than or equal lớn | 5 >= 6 | if kiểm tra 5 -ge 6 | if [ 5 -ge 6 ] |
NOTE : = = is equal, ! = is not equal .
For string Comparisons use
Operator | Meaning |
---|---|
string1 = string2 | string1 is equal to string2 |
string1 != string2 | string1 is NOT equal to string2 |
string1 | string1 is NOT NULL or not defined |
-n string1 | string1 is NOT NULL and does exist |
-z string1 | string1 is NULL and does exist |
Toán tử logic
Operator | Meaning |
---|---|
! Expression | Logical NOT |
expression1,-a,expression2 | Logical AND |
expression1,-o,expression2 | Logical OR |
thanh tra rà soát file, thư mục
tra cứu | Meaning |
---|---|
-s file | Non empty file |
-f file | Is File exist or normal file and not a directory |
-d dir | Is Directory exist and not a file |
-w file | Is writeable file |
-r file | Is read-only file |
-x file | Is file is executable |
Nguồn : https://viblo.asia/
Source: https://final-blade.com
Category: Kiến thức Internet