Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: <[(x)]> en 10 Marzo 2012, 21:52 pm



Título: problema en condicional if; [bash]
Publicado por: <[(x)]> en 10 Marzo 2012, 21:52 pm
hola que tal, e tenido un problema q no logro entender cual  es su causa.

Código
  1. if [$line=$(ls -1 | head -n1)]
tengo esta sentencia  y no encuentro la vuelta para hacer que se evalué bien. El error que me tira bash es el siguiente;
Código:
/bin/bash: línea 38: 24.jpg=0-fondos-pantalla-oceanos-1024.jpg: no se encontró la orden

alguien me puede aclarar porque pasa esto? como tendría q ser la sintaxis para q no tire error?.


Título: Re: problema en condicional if; [bash]
Publicado por: <[(x)]> en 10 Marzo 2012, 22:41 pm
lo unico que hice fue poner espacios en todos lados...

Código
  1. if [ $line = $(ls -1 | head -n1) ]

Y ME FUNCIONO...  :¬¬

modf1. Disculpen


Título: Re: problema en condicional if; [bash]
Publicado por: leogtz en 11 Marzo 2012, 02:00 am
Sí, en el if los corchetes no deben de ir juntos, ¿por qué? ammmm, no lo sé, pero lo que sí te puedo decir es que "[" es una característica interna del shell, por lo que si pusieras [ALGO no se reconocería.

Código:
[0 [17:59][leo@archero ~]$ type '['
[ is a shell builtin
[0 [18:00][leo@archero ~]$