#!/usr/bin/env bash # Kiểm tra có đối số không if [ -z "$1" ]; then echo "Usage: $(basename "$0") " exit 1 fi courseid="$1" # Lưu thư mục hiện tại (nơi chạy script, không phải nơi đặt script) BASEDIR="$(pwd)" for dir in */ ; do # Bỏ dấu '/' cuối dirname="${dir%/}" # Cắt phần số trước dấu '.' và trim khoảng trắng index=$(echo "$dirname" | cut -d'.' -f1 | tr -d '[:space:]') # Bỏ số 0 đầu nếu có index_nozero=$(echo "$index" | sed 's/^0*//') # Nếu chuỗi rỗng (trường hợp '0') if [ -z "$index_nozero" ]; then index_nozero=0 fi # Kiểm tra là số hợp lệ if [[ "$index_nozero" =~ ^[0-9]+$ ]]; then # Tính i-1 i_minus_1=$((index_nozero - 1)) echo "===> Đang xử lý thư mục: $dirname (index: $index_nozero, i-1: $i_minus_1)" # Chuyển vào thư mục cd "$dirname" || { echo "Không thể vào thư mục $dirname"; exit 1; } # Gọi online.sh với courseid từ dòng lệnh và i-1 elearning.sh "$courseid" "$i_minus_1" # Quay lại thư mục gốc cd "$BASEDIR" else echo "Bỏ qua $dirname (không bắt đầu bằng số)" fi done