Ssh 到多个主机和基于主机名的 运行 命令
Ssh to multiple hosts and run command based on hostnames
我正在尝试通过 ssh 连接到多个服务器并创建一个新文件夹,该文件夹的名称是我正在 ssh-ing 的主机名。
我正在使用以下 ksh 脚本:
#!/usr/bin/ksh
for i in `cat `
do
ssh $i "sudo mkdir $i"
done
当 运行 ./myscript hostnameList
时,这会大喊 Usage: mkdir [-p] [-e] [-m mode] Directory ...
我很确定这与 $i 变量有关,但不确定如何使用它。
我认为它在 for 循环中缺少一个 do
。
试一试:
#!/usr/bin/ksh
for i in `cat `; do
ssh $i "sudo mkdir $i"
done
https://www.cyberciti.biz/faq/ksh-for-loop/
还要确保使用双引号,如您的示例所示。
我正在尝试通过 ssh 连接到多个服务器并创建一个新文件夹,该文件夹的名称是我正在 ssh-ing 的主机名。
我正在使用以下 ksh 脚本:
#!/usr/bin/ksh
for i in `cat `
do
ssh $i "sudo mkdir $i"
done
当 运行 ./myscript hostnameList
时,这会大喊Usage: mkdir [-p] [-e] [-m mode] Directory ...
我很确定这与 $i 变量有关,但不确定如何使用它。
我认为它在 for 循环中缺少一个 do
。
试一试:
#!/usr/bin/ksh
for i in `cat `; do
ssh $i "sudo mkdir $i"
done
https://www.cyberciti.biz/faq/ksh-for-loop/
还要确保使用双引号,如您的示例所示。