
Tengo una secuencia de comandos para iniciar sesión en el servidor remoto, pero intenté ejecutar la secuencia de comandos y se produjo un error.
Registros:
Mi guión:
#!/bin/bash
S1=$(ssh -t selvam-odc-shell1 "users | wc -w ")
S2=$(ssh -t selvam-odc-shell2 "users | wc -w ")
S3=$(ssh -t selvam-odc-shell3 "users | wc -w ")
if [ "$S1" -le 100 ];
then
ssh -t selvam-odc-shell1 " bash"
if [ "$S2" -le 100 ];
then
ssh -t selvam-odc-shell2 "bash"
elif [ "$S3" -le 100 ];
then
ssh -t selvam-odc-shell3 "bash"
else
echo " Shell has been more than 100 users.Please try again later
fi
pero o/p
[user@selvam-odc-sunray2: ~]#./shell.sh
Connection to selvam-odc-shell1 closed.
Connection to selvam-odc-shell2 closed.
Connection to selvam-odc-shell3 closed.
: integer expression expected60
: integer expression expected 29
Por favor, ayúdame a resolver este problema.
Gracias MM SELVAM
Respuesta1
El comando ssh no sólo agrega el número, sino que también agrega una nueva línea. Lo que significa que sus variables tienen un contenido como este: "1\n", que no es un número entero.
Elimine las comillas: S1=$(ssh -t selvam-odc-shell1 usuarios | wc -w )