48 lines
1.3 KiB
Bash
48 lines
1.3 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
# Kiểm tra có đối số không
|
|
if [ -z "$1" ]; then
|
|
echo "Usage: $(basename "$0") <courseid>"
|
|
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
|