cómo recuperar el siguiente error cuando ejecuto el script de shell

cómo recuperar el siguiente error cuando ejecuto el script de shell

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 )

información relacionada