在多个Linux上执行命令
Eave
2026.06.23
在多个Linux上执行命令
#!/bin/bash
cmd="$*"
# 颜色定义
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
CYAN='\033[0;36m'
NC='\033[0m' # No Color
# 服务器列表
servers=(
"localhost"
)
# 执行函数
execute() {
local server="$1"
local cmd="$2"
# 执行SSH命令
if [ "$server" = "localhost" ]; then
# 本地执行
eval "$cmd"
else
# 远程SSH执行
ssh -o ConnectTimeout=10 -o BatchMode=yes -o StrictHostKeyChecking=no "$server" "$cmd"
fi
}
# 并行执行函数
for server in "${servers[@]}"; do
# 在每个服务器上执行命令
echo -e "${CYAN}==================== $server ====================${NC}"
execute "$server $cmd"
done