sh脚本中,读取指定文本文件中多个ip地址和密码,ssh连接文本文件中ip,执行创建多个命令
时间: 2024-03-20 15:43:23 浏览: 112
递归替换.c和.h文件中TAB键为4个空格的shell脚本,执行非常方便
以下是一个示例脚本,可以读取指定文本文件中的多个IP地址和密码,SSH连接到每个IP地址并执行多个命令。请注意,这个脚本需要使用sshpass命令来传递密码,因此必须先安装sshpass。
```bash
#!/bin/bash
# 指定文本文件的路径和文件名
filename="/path/to/file.txt"
# 读取文件中的每一行
while read -r line
do
# 从每行中提取IP地址和密码
ip=$(echo $line | cut -d ' ' -f 1)
password=$(echo $line | cut -d ' ' -f 2)
# 执行SSH连接并执行多个命令
sshpass -p $password ssh -o StrictHostKeyChecking=no $ip <<EOF
# 在这里执行多个命令,例如:
echo "Connected to $ip"
ls -la
uname -a
# ...
EOF
done < "$filename"
```
在这个脚本中,我们首先指定了文本文件的路径和文件名。然后,我们使用while循环来读取文件中的每一行,并从每行中提取IP地址和密码。接下来,我们使用sshpass命令来连接到每个IP地址,并执行多个命令。在这个例子中,我们只是打印了一些信息和执行了一些基本的命令,但你可以根据自己的需要修改这些命令。请注意,我们使用了here文档语法(<<EOF)来将需要执行的命令嵌入到ssh连接中。这个语法非常有用,因为它可以让我们在SSH连接中执行多个命令,而不必每次都建立一个新的连接。
阅读全文