Dernière activité 6 months ago

這段程式碼用來顯示 Logo、檢查權限並測試網址是否存在

Révision 0595ccc2fdd5912501e958577b5e62207ee2e93a

url_check_script.sh Brut
1#!/usr/bin/env bash
2
3# ===== 顏色設定 =====
4RED="\033[31m"
5GREEN="\033[32m"
6YELLOW="\033[33m"
7CYAN="\033[36m"
8RESET="\033[0m"
9
10# ===== 專案 Logo(ASCII Art)=====
11show_logo() {
12 echo -e "${CYAN}"
13 echo " ____ _ "
14 echo " | _ \ ___ ___ | | ___ ___ "
15 echo " | |_) / _ \ / _ \| |/ _ \/ __|"
16 echo " | __/ (_) | (_) | | __/\__ \\"
17 echo " |_| \___/ \___/|_|\___||___/"
18 echo -e "${RESET}"
19}
20
21# ===== 權限檢查與自動 sudo =====
22require_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 測試檔案網址 =====
35check_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 =====
47main() {
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# ===== 執行主程式 =====
68main "$@"
69