timmy bu gisti düzenledi 6 months ago. Düzenlemeye git
Değişiklik yok
timmy bu gisti düzenledi 6 months ago. Düzenlemeye git
1 file changed, 68 insertions
url_check_script.sh(dosya oluşturuldu)
| @@ -0,0 +1,68 @@ | |||
| 1 | + | #!/usr/bin/env bash | |
| 2 | + | ||
| 3 | + | # ===== 顏色設定 ===== | |
| 4 | + | RED="\033[31m" | |
| 5 | + | GREEN="\033[32m" | |
| 6 | + | YELLOW="\033[33m" | |
| 7 | + | CYAN="\033[36m" | |
| 8 | + | RESET="\033[0m" | |
| 9 | + | ||
| 10 | + | # ===== 專案 Logo(ASCII Art)===== | |
| 11 | + | show_logo() { | |
| 12 | + | echo -e "${CYAN}" | |
| 13 | + | echo " ____ _ " | |
| 14 | + | echo " | _ \ ___ ___ | | ___ ___ " | |
| 15 | + | echo " | |_) / _ \ / _ \| |/ _ \/ __|" | |
| 16 | + | echo " | __/ (_) | (_) | | __/\__ \\" | |
| 17 | + | echo " |_| \___/ \___/|_|\___||___/" | |
| 18 | + | echo -e "${RESET}" | |
| 19 | + | } | |
| 20 | + | ||
| 21 | + | # ===== 權限檢查與自動 sudo ===== | |
| 22 | + | require_root() { | |
| 23 | + | if [[ $EUID -ne 0 ]]; then | |
| 24 | + | echo -e "${YELLOW}需要 root 權限,將自動以 sudo 重新執行...${RESET}" | |
| 25 | + | if command -v sudo >/dev/null 2>&1; then | |
| 26 | + | exec sudo "$0" "$@" | |
| 27 | + | else | |
| 28 | + | echo -e "${RED}找不到 sudo,請手動以 root 執行。${RESET}" | |
| 29 | + | exit 1 | |
| 30 | + | fi | |
| 31 | + | fi | |
| 32 | + | } | |
| 33 | + | ||
| 34 | + | # ===== 用 curl --head 測試檔案網址 ===== | |
| 35 | + | check_url_exists() { | |
| 36 | + | local url="$1" | |
| 37 | + | if curl --head --silent --fail "$url" >/dev/null; then | |
| 38 | + | echo -e "${GREEN}網址存在:${url}${RESET}" | |
| 39 | + | return 0 | |
| 40 | + | else | |
| 41 | + | echo -e "${YELLOW}找不到檔案:${url}${RESET}" | |
| 42 | + | return 1 | |
| 43 | + | fi | |
| 44 | + | } | |
| 45 | + | ||
| 46 | + | # ===== 主程式入口 main ===== | |
| 47 | + | main() { | |
| 48 | + | show_logo | |
| 49 | + | ||
| 50 | + | require_root "$@" | |
| 51 | + | ||
| 52 | + | # 範例網址測試 | |
| 53 | + | FILE_URL1="https://example.com/file.txt" | |
| 54 | + | FILE_URL2="https://example.com/file_backup.txt" | |
| 55 | + | ||
| 56 | + | if ! check_url_exists "$FILE_URL1"; then | |
| 57 | + | echo -e "${CYAN}嘗試第二個網址...${RESET}" | |
| 58 | + | if ! check_url_exists "$FILE_URL2"; then | |
| 59 | + | echo -e "${RED}兩個網址都無法存取,請檢查連線或檔案名稱。${RESET}" | |
| 60 | + | exit 2 | |
| 61 | + | fi | |
| 62 | + | fi | |
| 63 | + | ||
| 64 | + | echo -e "${GREEN}腳本執行完成!${RESET}" | |
| 65 | + | } | |
| 66 | + | ||
| 67 | + | # ===== 執行主程式 ===== | |
| 68 | + | main "$@" | |
Daha yeni
Daha eski