tengo este scriptque no se encuentra al comparar cadena
#!/bin/sh
if [ $# -ne 3 ] ; then
echo "param 1, param2, and A or B "
exit 1;
elif [ $# -eq 3 ]; then
if [$3 = "A"] ; then
echo "A"
elif [$3 = "B"]; then
echo "B"
fi
fi
Básicamente está comprobando si parámetro 3 es A o B, y hago eco. Pero vuelve:
./test.sh: line 6: [A: command not found
./test.sh: line 8: [A: command not found
He intentado utilizar -eq
para la comparación, pero todavía no funciona. ¿Como puedo solucionar este problema?
No necesita el 'elif [$ # -eq 3]; luego 'línea como usted sabe que' $ # 'es 3 a partir de su primera prueba. Luego, puede evitar un nivel de sangrado y un 'fi' reemplazando' si [$ 3 = "A"]; then' by 'elif [$ 3 =" A "]; entonces'. – jfg956