Bài học 6 : tìm hiểu lập trình Shell script

[Xem Video tại đây]
Shell script là một cách mạnh mẽ để tự động hóa các tác vụ lặp đi lặp lại và quản lý hệ thống. Các script này chạy trên shell của Linux, giúp bạn kết hợp nhiều lệnh thành một tập tin thực thi, từ đó tiết kiệm thời gian và giảm thiểu khả năng lỗi.

Bắt Đầu với Shell Script

  1. Tạo file script:Mở terminal và sử dụng trình soạn thảo văn bản để tạo file script. Ví dụ, tạo file script.sh:
nano script.sh
  1. Viết script:Ở dòng đầu tiên của file, bạn cần khai báo shebang (#!) để chỉ định shell sẽ được sử dụng để chạy script. Thông thường, đối với bash, bạn sẽ viết như sau:
#!/bin/bash

Tiếp theo, bạn có thể thêm các lệnh. Ví dụ, script sau sẽ in ra “Hello, World!”:

#!/bin/bash
echo "Hello, World!"
  1. Làm cho script có thể thực thi:Trở lại terminal và chạy lệnh sau để làm cho script có thể thực thi:
chmod +x script.sh
  1. Chạy script:Bạn có thể chạy script bằng cách sử dụng lệnh sau:
./script.sh

Hoặc, nếu bạn đang ở thư mục khác, cần chỉ định đường dẫn tới script.

Ví dụ Script: Sao lưu Thư mục

Giả sử bạn muốn tạo một script để sao lưu một thư mục vào một thư mục khác. Script sau sẽ thực hiện điều đó:

#!/bin/bash

# Định nghĩa thư mục nguồn và thư mục đích
SOURCE="/path/to/source/directory"
DEST="/path/to/destination/directory"

# Tạo một bản sao lưu với timestamp
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
BACKUP_NAME="backup_$TIMESTAMP"

# Sao chép thư mục
cp -r $SOURCE $DEST/$BACKUP_NAME

echo "Backup of $SOURCE completed successfully at $DEST/$BACKUP_NAME"

Lưu Ý khi Viết Shell Script

  • Biến: Sử dụng $ để truy cập giá trị của biến. Đặt ngoặc nhọn xung quanh tên biến trong các trường hợp phức tạp, ví dụ ${VAR}.
  • Vòng lặp: Có thể sử dụng vòng lặp for, while để thực hiện các tác vụ lặp.
  • Câu điều kiện: Sử dụng if-else để xử lý các tình huống điều kiện.
  • Hàm: Tạo hàm để tái sử dụng mã và làm cho script dễ đọc, dễ bảo trì hơn.

Kết luận

Lập trình shell script là một kỹ năng quan trọng giúp bạn tối ưu hóa quy trình làm việc trên Linux. Bằng cách kết hợp các lệnh, điều kiện, vòng lặp và hàm, bạn có thể tự động hóa hầu hết mọi tác vụ, từ đơn giản đến phức tạp, giúp tăng hiệu suất và giảm thiểu sai sót.