You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用for循环五次执行带可变用户名密码的isql命令?

没问题,我来给你几种不同环境下的实现方案,你可以根据自己用的系统选合适的:

Bash/Linux/Unix 环境

如果你用的是Linux或类Unix系统的bash shell,有两种简单的写法:

方法一:用两个并行数组

把用户名和密码分别存在两个数组里,循环遍历索引对应取值:

# 定义用户名和密码数组,按顺序一一对应
users=("user1" "user2" "user3" "user4" "user5")
passwords=("pass1" "pass2" "pass3" "pass4" "pass5")

# 循环执行五次,每次取对应索引的用户和密码
for i in "${!users[@]}"; do
    isql -U "${users[$i]}" -P "${passwords[$i]}" -S servername
done

方法二:用用户密码对列表

把每个用户名和密码用分隔符(比如冒号)连在一起,循环时拆分:

# 定义用户密码对,每一组是"用户名:密码"
credentials=(
    "user1:pass1"
    "user2:pass2"
    "user3:pass3"
    "user4:pass4"
    "user5:pass5"
)

# 遍历每一组,拆分出用户名和密码
for cred in "${credentials[@]}"; do
    username="${cred%%:*}"  # 截取冒号前面的内容作为用户名
    password="${cred#*:}"   # 截取冒号后面的内容作为密码
    isql -U "$username" -P "$password" -S servername
done
Windows CMD 环境

如果是Windows的命令提示符(CMD),可以这样写:

@echo off
setlocal enabledelayedexpansion

:: 定义用户名和密码的数组,索引从0到4
set "users[0]=user1"
set "users[1]=user2"
set "users[2]=user3"
set "users[3]=user4"
set "users[4]=user5"

set "passwords[0]=pass1"
set "passwords[1]=pass2"
set "passwords[2]=pass3"
set "passwords[3]=pass4"
set "passwords[4]=pass5"

:: 循环从0到4,每次取对应索引的用户和密码执行命令
for /l %%i in (0,1,4) do (
    isql -U !users[%%i]! -P !passwords[%%i]! -S servername
)
Windows PowerShell 环境

用PowerShell的话,写法更灵活:

# 定义包含用户密码的哈希表数组
$credentials = @(
    @{ Username = "user1"; Password = "pass1" },
    @{ Username = "user2"; Password = "pass2" },
    @{ Username = "user3"; Password = "pass3" },
    @{ Username = "user4"; Password = "pass4" },
    @{ Username = "user5"; Password = "pass5" }
)

# 遍历每一组凭据执行命令
foreach ($cred in $credentials) {
    isql -U $cred.Username -P $cred.Password -S servername
}

小提醒

记得把示例里的user1、pass1这些替换成你实际的用户名和密码,另外如果密码里包含特殊字符(比如空格、&、#),可能需要用引号包裹或者转义,具体可以根据你用的环境调整。

内容的提问来源于stack exchange,提问作者Raj s

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:38:02