目錄
一、📦 腳本功能概覽
二、📜 腳本代碼一覽
三、🔍 腳本功能說明
(一)? 支持批量啟動多個 Chrome 實例
(二)? 每個實例使用獨立用戶數據目錄
(三)? 啟動后自動等待用戶關閉
(四)?自動清理所有臨時數據
四、🛠? 最推薦用法:直接添加 alias,隨時隨地一鍵運行!
(一)? 第一步:保存腳本并賦予執行權限
(二)? 第二步:添加 alias 到 shell 配置
(三)使用案列說明
1. 打開 1 個實例,默認頁面
2. 打開 3 個實例,訪問指定網址
3. 打開 5 個實例并打開本地服務
💡 小貼士:alias 更建議這樣取名
五、🎯 小結
干貨分享,感謝您的閱讀!!!
有時候,我們可能會遇到這樣一個需求:快速啟動多個 Chrome 瀏覽器實例,每個打開多個標簽頁,測試完自動關閉并清理所有痕跡。比如做 Web 自動化測試、刷流量(你懂的😏)、展示多個頁面效果對比等等。
今天就給大家分享一個 Bash 腳本,幫你一鍵完成以上操作!關鍵是:不臟系統、不留痕、自動清理!
一、📦 腳本功能概覽
這個腳本主要完成以下幾件事:
-
接收一個數字參數,表示要打開幾個 Chrome 實例。
-
每個實例打開指定網頁,如果沒指定,默認打開 example.com。
-
每個實例使用一個臨時用戶目錄(profile),避免配置沖突。
-
等所有 Chrome 實例關閉后,自動清理這些臨時目錄。
二、📜 腳本代碼一覽
下面是完整腳本,直接復制保存為 open_chromes.sh
,加上執行權限即可使用。
#!/bin/bash# 檢查參數
if [ -z "$1" ]; thenecho "Usage: $0 <count> [url1] [url2] ..."echo " 啟動 <count> 個 Chrome 實例,每個實例打開指定網頁"exit 1
fiCOUNT=$1
shift
URLS=("$@")# 默認 URL
if [ ${#URLS[@]} -eq 0 ]; thenURLS=("https://zyfcodes.blog.csdn.net/?type=blog")
fiecho "---------------------------------------------"
echo "🚀 啟動 $COUNT 個 Chrome 實例,每個打開以下標簽頁:"
for url in "${URLS[@]}"; doecho " - $url"
done
echo "---------------------------------------------"# 存儲每個實例的 PID 和 PROFILE 目錄
PIDS=()
PROFILE_DIRS=()for ((i=1; i<=COUNT; i++)); doPROFILE_DIR="/tmp/chrome-profile-$RANDOM"PROFILE_DIRS+=("$PROFILE_DIR")echo "[$i/$COUNT] 啟動實例,Profile: $PROFILE_DIR"/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome \--incognito \--no-first-run \--no-default-browser-check \--user-data-dir="$PROFILE_DIR" \"${URLS[@]}" &PIDS+=($!)sleep 0.2
doneecho "? 等待所有 Chrome 實例關閉..."
for pid in "${PIDS[@]}"; dowait "$pid"
doneecho "🧹 所有實例關閉,開始清理臨時 profile 目錄..."
for dir in "${PROFILE_DIRS[@]}"; dorm -rf "$dir"echo " ? 刪除 $dir"
doneecho "🎉 所有臨時目錄已清理完成!"
三、🔍 腳本功能說明
(一)? 支持批量啟動多個 Chrome 實例
腳本接受一個數字參數 count
,表示要啟動幾個獨立的 Chrome 實例。例如:
./open_chromes.sh 3 https://google.com https://github.com
將啟動 3 個實例,每個打開 Google 和 GitHub 兩個標簽頁。
(二)? 每個實例使用獨立用戶數據目錄
通過 --user-data-dir=/tmp/chrome-profile-XXXX
,讓每個實例使用自己的臨時配置文件夾,互不影響,也不會污染你平時使用的 Chrome。
而且還加了 --incognito
、--no-first-run
、--no-default-browser-check
等參數,讓實例干凈啟動、免打擾。
(三)? 啟動后自動等待用戶關閉
腳本會記錄每個實例的進程 ID(PID),并在后臺等待用戶關閉 Chrome。你打開網頁、測試完畢、手動關掉窗口后,腳本才會繼續執行。
(四)?自動清理所有臨時數據
所有用到的 /tmp/chrome-profile-xxx
文件夾會在最后統一清理,真正做到“來無影、去無蹤”。你系統不會留下任何多余緩存!
四、🛠? 最推薦用法:直接添加 alias
,隨時隨地一鍵運行!
雖然你可以將腳本放入 ~/bin
目錄并配置 $PATH
,但我更推薦一種更快、更符合日常使用習慣的方式:直接設置 alias 別名。
你只需兩步,就能讓這個腳本變成終端里的“魔法命令”:
(一)? 第一步:保存腳本并賦予執行權限
比如你把腳本保存為 ~/scripts/open_chromes.sh
,記得加上執行權限:
mkdir -p ~/scripts
mv open_chromes.sh ~/scripts/
chmod +x ~/scripts/open_chromes.sh
(二)? 第二步:添加 alias 到 shell 配置
打開你的 shell 配置文件(Zsh 用戶就是 .zshrc
,Bash 用戶是 .bash_profile
):
nano ~/.zshrc # 或 nano ~/.bash_profile
添加如下 alias(你可以自由修改名字,這里用 zyfoc
表示 open chrome):
alias zyfoc="~/scripts/open_chromes.sh"
保存并讓配置立即生效:
source ~/.zshrc # 或 source ~/.bash_profile
(三)使用案列說明
🚀 從此,你只需要敲一行命令就能執行腳本:
1. 打開 1 個實例,默認頁面
zyfoc 1
2. 打開 3 個實例,訪問指定網址
zyfoc 3 https://google.com https://github.com
3. 打開 5 個實例并打開本地服務
zyfoc 5 http://localhost:3000/login http://localhost:3000/dashboard
💡 小貼士:alias 更建議這樣取名
別名 | 含義 | 推薦指數 |
---|---|---|
zyfoc | open chrome 的縮寫 | ?????(簡潔) |
chromex | chrome + 批量執行風格 | ???? |
testweb | 用于測試網頁打開 | ??? |
browsex | 多窗口瀏覽擴展工具 | ??? |
五、🎯 小結
這個 Bash 腳本實現了:
-
?? 快速啟動任意數量 Chrome 實例
-
?? 每個實例獨立運行,不干擾主瀏覽器
-
?? 支持多個標簽頁
-
?? 自動等待 + 自動清理,使用無痕!
簡單幾行 Bash,就能解決很多重復操作的煩惱。如果你有類似需求,趕緊拿去試試吧!