Autor
|
Tema: [SOLUCIONADO][SH] Error al ejecutar script, [: falta un `]' (Leído 4,617 veces)
|
JoseluCross
Desconectado
Mensajes: 33
Conoceréis la Verdad, y la Verdad os hará libres
|
Hola a todos, estoy aprendiendo un poco de scripting en SH y probando con if else he tenido el problema que he puesto en el título, no se bien que es lo que tengo que hacer ni que es ese ` que falta. Muchas gracias de antemano. El código del script es #!/bin/sh echo Introduzca el formato, 1 tar, 2 tar.gz, 3 tar.bz2 read format if [ "$format" == 1];then tar cf $1.tar $1 echo Se ha comprimido $1 en $1.tar elif [ "$format" == 2];then tar czf $1.tar.gz $1 echo Se ha comprimido $1 en $1.tar.gz elif [ "$format" == 3];then tar cjf $1.tar.bz2 $1 echo Se ha comprimido $1 en $1.tar.bz2 else echo Formato no incluido, reinicie el script fi
Y el código del error que saco depués es joselucross@Cross-PC:~$ comprimir prueba Introduzca el formato, 1 tar, 2 tar.gz, 3 tar.bz2 2 /home/joselucross/.scripts/.comprimir.sh: línea 4: [: falta un `]' /home/joselucross/.scripts/.comprimir.sh: línea 7: [: falta un `]' /home/joselucross/.scripts/.comprimir.sh: línea 10: [: falta un `]' Formato no includio, reinicie el script joselucross@Cross-PC:~$
|
|
« Última modificación: 22 Febrero 2016, 11:59 am por JoseluCross »
|
En línea
|
No hay problema sin solución, solo personas que no quieren resolverlo.
|
|
|
wuwu8
Desconectado
Mensajes: 2
|
#!/bin/sh echo Introduzca el formato, 1 tar, 2 tar.gz, 3 tar.bz2 read format if [ $format -eq 1 ];then tar cf $1.tar $1 echo Se ha comprimido $1 en $1.tar elif [ $format -eq 2 ];then tar czf $1.tar.gz $1 echo Se ha comprimido $1 en $1.tar.gz elif [ $format -eq 3 ];then tar cjf $1.tar.bz2 $1 echo Se ha comprimido $1 en $1.tar.bz2 else echo Formato no incluido, reinicie el script fi
La variable format dentro del if va sin comillas y los iguales se pone -eq (=)
|
|
|
En línea
|
|
|
|
JoseluCross
Desconectado
Mensajes: 33
Conoceréis la Verdad, y la Verdad os hará libres
|
#!/bin/sh echo Introduzca el formato, 1 tar, 2 tar.gz, 3 tar.bz2 read format if [ $format -eq 1 ];then tar cf $1.tar $1 echo Se ha comprimido $1 en $1.tar elif [ $format -eq 2 ];then tar czf $1.tar.gz $1 echo Se ha comprimido $1 en $1.tar.gz elif [ $format -eq 3 ];then tar cjf $1.tar.bz2 $1 echo Se ha comprimido $1 en $1.tar.bz2 else echo Formato no incluido, reinicie el script fi
La variable format dentro del if va sin comillas y los iguales se pone -eq (=)
Me sigue dando el mismo error, cambiando exactamente lo que me has dicho sigue sin funcionar. [EDITO]Al final lo solucioné, el problema estaba que entre los números y el corchete no había un espacio. Si a alguién más tiene ese mismo error ya sabes cual es el origen. Muchas gracias a wuwu8 por su ayuda
|
|
« Última modificación: 22 Febrero 2016, 11:59 am por JoseluCross »
|
En línea
|
No hay problema sin solución, solo personas que no quieren resolverlo.
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
ejecutar script shell en JAVA
Java
|
JAX82
|
2
|
15,177
|
6 Febrero 2008, 21:05 pm
por malakay86
|
|
|
error ejecutar vbs desde tarea programada error el sistema no puede encontrar el
Scripting
|
binario010101
|
2
|
8,184
|
1 Mayo 2014, 00:54 am
por binario010101
|
|
|
[Resuelto] 500 internal error al ejecutar un script?
PHP
|
venadHD
|
3
|
1,888
|
24 Octubre 2015, 12:32 pm
por venadHD
|
|
|
¿Error por falta de corchetes?
Programación C/C++
|
fafafa01
|
3
|
2,188
|
11 Enero 2017, 09:38 am
por MAFUS
|
|
|
vb6 error de script webBRoser
Programación Visual Basic
|
darkisel
|
0
|
1,773
|
7 Enero 2022, 05:04 am
por darkisel
|
|