Tôi muốn truy cập một số máy chủ thông qua SSH, chạy một số lệnh và thoát. Làm điều này cho rất nhiều máy chủ.
Tôi biết tôi chỉ có thể làm điều này cho một máy, với tập lệnh này:
ssh **IP** << EOF
chown -R **COMMAND 1**
chown -R **COMMAND 2**
chmod -R 775 **COMMAND 3**
EOF
Nhưng khi tôi cố gắng đặt cái này vào trong FOR trong SHELL, cứ nói line 17: syntax error: unexpected end of file
.}
Đây là mã của tôi cho SSH nhiều máy chủ:
#!/bin/bash
#user already added to group nagios by LDAP
declare -a arr=( **IP1 IP2 IP3** ...)
for i in ${arr[@]}
do
echo "Acessing server $i"
ssh IP << EOF
chown -R COMMAND 1
chown -R COMMAND 2
chmod -R 775 COMMAND 3
EOF
done
Lỗi ở đây là của tôi ở đâu?
Pseudo-terminal will not be allocated because stdin is not a terminal.
Tôi có nên lo lắng về điều này?