Khuyến mãi
Trang chủ » Hướng dẫn » Shell » Tìm hiểu lập trình shell trong linux – Bạn đã biết?

Tìm hiểu lập trình shell trong linux – Bạn đã biết?

Bài viết sau đây, BKNS sẽ đưa cho bạn những thông tin tìm hiểu lập trình shell (bash script) trong linux. Hãy cùng theo dõi nhé.

Tìm hiểu lập trình shell trong linux

Tìm hiểu lập trình shell trong linux

1. Shell script là gì?

Shell script là gì?

Shell script là gì?

Shell là 1 chương trình giao tiếp với người sử dụng. Điều này được hiểu là shell sẽ chấp nhận những lệnh từ người dùng sau đó hoạt động nó. Tuy nhiên, trong trường hợp người dùng muốn dùng nhiều lệnh chỉ bằng 1 lệnh duy nhất thì người dùng có khả năng ghi nhớ lại chuỗi lệnh vào text file sau đó thông bảo đến shell bắt đầu thực thi text file thay vì gõ vào các lệnh. Đây được gọi là shell script

Nói tóm lại, shell script là 1 chuỗi nhiều lệnh được viết ở trong plain text file. lập trình shell như batch file trong MS-DOS nhưng mạnh hơn.

Những lý do phải viết shell script:

  • Tự động thực hiện công việc thường xuyên
  • Tối ưu hoá thời gian
  • Thuận lợi để tạo nhóm lệnh riêng
  • Shell script có khả năng nhận input từ user, file hay output từ màn hình máy tính

2. Cấu trúc điều khiển trong lập trình shell script

Cấu trúc điều khiển trong lập trình shell script

Cấu trúc điều khiển trong lập trình shell script

Vòng lặp While có cú pháp:

Ví dụ: demo1.sh

Kết quả sau khi chạy là:

Vòng lặp for

Cú pháp của vòng lặp For:

Ví dụ như:

Cú pháp rẽ nhánh If

Cú pháp như sau:

3. Các phép toán số học trong lập trình shell cơ bản

Như lập trình shell linux, cú pháp của các phép toán số học:

expr toán_hạng_1 toán_tử toán_hạng_2

Ví dụ như:

Lưu ý: 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

  • Dấu nháy ngược ‘: là yêu cầu thực hành lệnh
  • Mọi ký tự trong dấu ngoặc kép đều không có ý nghĩa tính toán, trừ những ký tự sau \ hay $

#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 lệnh trả về của 1 câu lệnh cú pháp

$echo $?

Trạng thái =0 trong trường hợp câu lệnh kết thúc thành công. Ngược lại, câu lệnh kết thúc không thành công thì sẽ kết thúc khác 0.

# xóa file không tồn tại

rm abc.txt #output messenger:( rm: cannot remove abc.txt': No such file or directory )

# kiểm tra trạng thái câu lệnh rm abc.txt

$echo $? #output 1 nghĩa là có lỗi

$ echo "ngay hom nay la: date`”

#output: ngay hom nay la: Wed Apr 27 10:43:59 ICT 2016

$echo $? #output 0, nghĩa là thành công

4. Hướng dẫn tạo vào thực hành chương trình shell

Hướng dẫn tạo vào thực hành chương trình shell

Hướng dẫn tạo vào thực hành chương trình shell

Bước 1: Trên thư mục home/cd xây dựng file  hello.sh với nội dung như sau:

Để soạn thảo nội dung sử dụng gedit, emacs, vi,… gõ code như sau:

#!/bin/bash

echo “hello world”

#!/bin/bash là cú pháp bắt buộc cần phải có.

Sau dấu 3 được hiểu là chú thích của những đoạn mã.

Bước 2:  Bước này người dùng cần cấp quyền sử dụng cho nó để script.

chmod 0777 hello.sh

Bước 3: Thực hiện file shell

// có thể chạy file bằng 1 số cách sau

–  bash hello.sh

–  sh hello.sh

–  ./hello.sh

5. Biến trong shell

Trong shell có 2 loại biết là biến do người dùng định nghĩa và biến hệ thống.

5.1 Biến do người dùng định nghĩa

Biến do người dùng định nghĩa có cú pháp là: tên_biến=value 

Trong đó:

  • Tên biến phải bắt đầu bằng ký tự
  • Không được phép cho dấu cách ở 2 bên toán tử=khi gán giá trị cho biến

#Đúng

a=1

#sai

a = 1

#sai

a= 1

Tên biến phân biệt cả chữ thường lẫn chữ hoa

#các biến sau đây là khác nhau. Ví dụ: 

  • a=1
  • A=2

Biến nào không có giá trị thì khởi tạo biến ban đầu bằng NULL

Không được sử dụng dấu ?,* để đặt tên biến.

ECHO để in giá trị của biến

Có cú pháp:

In một số ký tự đặc biệt trong tham số với tuỳ 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\tTu”

#output:  Hello Tu

$ echo -e “Hello\nTu”

#output

Hello

BKNS

5.2 Biến hệ thống

Chẳng hạn như file hello.sh có cú pháp như:

Đưa ra kết quả: run./hello.sh

Bài viết trên BKNS đã cung cấp thông tin cho bạn về lập trình shell trong linux. Hy vọng, những thông tin mà BKNS cung cấp hữu ích với bạn. Nếu còn bất cứ điều gì thắc mắc, hãy cho BKNS biết thông qua phần bình luận bên dưới hoặc gửi emai cho chúng tôi để được giải đáp nha!. Thường xuyên truy cập website bkns.vn để cập nhật thêm nhiều bài viết hữu ích khác nhé!

Call Back Icon

Xin chào quý khách!

Quý khách đang cần tư vấn dịch vụ, xin vui lòng nhập số điện thoại để chúng tôi gọi lại.

Tổng đài 24/07: 1900 63 68 09

Đăng ký nhanh dịch vụ

Quý khách vui lòng gửi yêu cầu cho BKNS, chúng tôi sẽ liên hệ lại ngay với bạn.