我想将所有远程服务器名称作为 shell 脚本参数传递,然后希望我的脚本将给定的文件/目录复制到所有远程服务器。下面是我的代码。
#!/bin/bash
/usr/bin/expect <<EOD
#connect via scp
usr=Joe
pwd=Password
file_location=/home/file1.txt
for a in $@
do
spawn scp -r $file_location "$usr@$a:$file_location"
expect -nocase "password: "
send "$pwd\r"
expect eof
EOD
所有远程服务器的用户名和密码都相同。所以我暂时对它们进行硬编码,但是在运行脚本时我发现了一个问题..
>./scp1.sh server1 server2
invalid command name "usr=Joe"
while executing
"usr=Joe"
任何帮助表示赞赏。谢谢!