La comparaison des variables dans les scripts shell

J'ai un projet qui implique des scripts shell et en comparant les valeurs des variables à l'intérieur d'eux. J'ai regardé ici et d'ailleurs sur la comparaison des variables et j'ai essayé tous les différents exemples donnés, mais je suis en cours d'exécution dans quelque chose qui n'est pas comme annoncé. OS est Solaris10

J'ai créé le script suivant comme une expérience d'apprentissage-

#!/bin/ksh

stest()
{
if $X = $Y
then echo they're the same
else echo they're notthe same
fi
}


X=a
Y=a

stest

echo completed

Je reçois une certaine variation de la suite-

l'utilisation de shell sh ou ksh-

#./test.sh
./test.sh[2]: a:  not found
completed

à l'aide du shell bash-

#./test.sh
./test.sh: line 5: a: command not found
completed

J'ai essayé en joignant le if $X = $Y ligne entre parenthèses et entre crochets doubles et je serai de retour

[a:  not found  

ou

[[a:  not found

Si je change les variables X et Y pour le chiffre "1", j'obtiens la même chose-

./test.sh[2]: 1:  not found

J'ai essayé d'enfermer les choses dans des apostrophes, guillemets doubles & arrière des citations.

Toute aide est appréciée.

InformationsquelleAutor user3047191 | 2013-11-28