Ssh到多个主机并根据主机名运行命令

问题描述 投票:-1回答:1

我正在尝试ssh到多个服务器并创建一个新的文件夹,其主机名我是ssh-ing作为其名称。

我正在使用以下ksh脚本:

#!/usr/bin/ksh
for i in `cat $1`
do
ssh $i "sudo mkdir $i"
done

运行./myscript hostnameList时,这会大喊Usage: mkdir [-p] [-e] [-m mode] Directory ...

我很确定这与$ i变量有关但不知道如何使用它。

shell ssh ksh aix
1个回答
0
投票

我认为它在for循环中缺少一个do

试试吧:

#!/usr/bin/ksh
for i in `cat $1`; do
    ssh $i "sudo mkdir $i"
done

https://www.cyberciti.biz/faq/ksh-for-loop/

还要确保使用双引号,如示例中所示。

© www.soinside.com 2019 - 2024. All rights reserved.