ssh 简写
<< remotessh
remotessh
这一对之间,可以写多个命令,换行即可。
否者就简单的 双引号,里面每个命令用分号隔开。
注意: 在远程服务器上的执行权限。
注意:login密码需要交互输入,
ssh root@10.224.36.218 << remotessh
cd /usr/local/
mkdir tests
cd tests
touch aaa.txt
exit
remotessh
变量和等号之间不可以有空格;
remotessh结束时要写在行首;
变量列表中空格间隔,不要逗号;
#! /bin/bash
ip_array=("10.224.36.218" "10.224.36.84")
port="22"
user="root"
for ip in ${ip_array[*]}
do
ssh -t -p $port $user@$ip << remotessh
cd /usr/local
mkdir test222
cd test222
touch aaa.txt
exit
remotessh
done
brew install https://raw.githubusercontent.com/kadwanev/bigboybrew/master/Library/Formula/sshpass.rb
安装了 sshpass
然后 执行时 加上sshpass -p 'a'
即可, 注意密码要单引号;
#! /bin/bash
ip_array=("10.224.36.218" "10.224.36.84")
port="22"
user="root"
for ip in ${ip_array[*]}
do
sshpass -p 'a' ssh -t -p $port $user@$ip << remotessh
cd /usr/local//Multiprotocols-Stress-Tool
git pull origin develop > log.txt
exit
remotessh
done