Estoy trabajando en un juego simple que estoy programando en shell para una tarea de la universidad y no sé por qué mi último si no funciona correctamente:
#! /bin/bash sort -n num.txt > sorted_nums.txt pc_num=`head -1 sorted_nums.txt` read $user_num if [ $user_num = $pc_num ] then echo "You are correct" else echo "You're wrong, the right answer was $pc_num" fiEl problema viene en la declaración if porque cuando ejecuto el programa siempre imprimirá el error:
./nums.sh: line 9: [: =: binary operator expectedTambién he intentado reemplazar = con -eq y todavía no funciona
Y luego imprime:
You're wrong, the right answer was $pc_num¡Gracias!
Bueno, te están dirigiendo a la línea equivocada. En realidad, está leyendo mal la entrada del usuario. Debe read user_num sin el $ .