|
1 | 1 | #!/data/data/com.tool.tree/files/home/bin/bash |
2 | 2 |
|
3 | | -if [ "$1" == '-h' ] || [ "$1" == '--help' ] || [ -z "$1" ]; then |
4 | | - echo "Syntax: taive [-#|-c] http://file.zip [path/save.zip]" |
| 3 | +# Kiểm tra trợ giúp hoặc thiếu tham số |
| 4 | +if [[ "$1" =~ ^(-h|--help)$ ]] || [ -z "$1" ]; then |
| 5 | + echo "Syntax: taive [-#|-a|-w] http://file.zip [path/save.zip]" |
5 | 6 | exit 0 |
6 | 7 | fi |
7 | 8 |
|
8 | | -PROGRESS_FLAG="" |
9 | | -if [ "$1" == '-#' ]; then |
10 | | - PROGRESS_FLAG="-#" |
11 | | - shift |
12 | | -elif [ "$1" == '-c' ]; then |
13 | | - PROGRESS_FLAG="-c" |
14 | | - shift |
15 | | -fi |
| 9 | +# Tách cờ tùy chọn nếu có |
| 10 | +FLAG="" |
| 11 | +case "$1" in |
| 12 | + -#|-a|-w) FLAG="$1"; shift ;; |
| 13 | +esac |
16 | 14 |
|
| 15 | +# Xác định đường dẫn lưu |
17 | 16 | SAVE_PATH="${2:-${1##*/}}" |
18 | | -if [ -z "$SAVE_PATH" ]; then |
19 | | - SAVE_PATH="downloaded_file" |
20 | | -fi |
| 17 | +SAVE_PATH="${SAVE_PATH:-downloaded_file}" |
21 | 18 |
|
22 | | -if [ "$PROGRESS_FLAG" == '-#' ]; then |
23 | | - curl $PROGRESS_FLAG -L -H "$WEBS" "$1" -o "$SAVE_PATH" |
24 | | -elif [ "$PROGRESS_FLAG" == '-c' ]; then |
25 | | - curl -L -H "$WEBS" "$1" -o "$SAVE_PATH" |
26 | | -else |
27 | | - axel -H "$WEBS" -n 10 -o "$SAVE_PATH" "$1" |
| 19 | +# Nếu không có curl mà đang dùng mặc định hoặc cờ -#, tự động chuyển sang wget (-w) |
| 20 | +if ! command -v curl &>/dev/null && { [ -z "$FLAG" ] || [ "$FLAG" == "-#" ]; }; then |
| 21 | + FLAG="-w" |
28 | 22 | fi |
| 23 | + |
| 24 | +# Thực thi công cụ tải tương ứng |
| 25 | +case "$FLAG" in |
| 26 | + -#) curl -# -L -H "$WEBS" "$1" -o "$SAVE_PATH" ;; |
| 27 | + -a) axel -H "$WEBS" -n 10 -o "$SAVE_PATH" "$1" ;; |
| 28 | + -w) wget --header "$WEBS" --no-check-certificate -O "$SAVE_PATH" "$1" ;; |
| 29 | + *) curl -L -H "$WEBS" "$1" -o "$SAVE_PATH" ;; |
| 30 | +esac |
0 commit comments