SoloCodigo

Sistemas Operativos => GNU/Linux => Mensaje iniciado por: x.cyclop en Lunes 25 de Septiembre de 2006, 14:35

Título: Cd $var - No Sirve
Publicado por: x.cyclop en Lunes 25 de Septiembre de 2006, 14:35
¿Porqué esto no sirve? :blink:

Código: Text
  1. LEOD=/home/leo/Desktop
  2.  
  3. cd $LEOD
  4.  

Puse export, el path entre comillas dobles y está igual.

Uso Bash.:think:
Título: Re: Cd $var - No Sirve
Publicado por: su - en Lunes 25 de Septiembre de 2006, 21:28
Código: Text
  1. LEO="/home/leo/desktop"
  2. cd $LEO
  3.  
:whistling:
Código: Text
  1. #/usr/bin/env perl
  2. my $leo = "$ENV{HOME}/desktop"; #O se puede usar sin "my"
  3. chdir $leo or die "No se puede ir a $leo: $!\n";
  4.  
  5.  
:P
Título: Re: Cd $var - No Sirve
Publicado por: x.cyclop en Lunes 25 de Septiembre de 2006, 22:19
Con comillas está igual. :D

Con chdir me pone:

Código: Text
  1. ./ho: line 5: chdir: command not found
  2.  

 :ph34r:
Título: Re: Cd $var - No Sirve
Publicado por: su - en Lunes 25 de Septiembre de 2006, 23:17
chrdir es para Perl  :P no para Bash, mira el codigo
Lo que pasa es que cambia en el script, pero no en la consola, mira:
Código: Text
  1. #!/usr/bin/env bash
  2. LEO='/usr'
  3. cd "$LEO"
  4. if [ `pwd` = '/usr' ]; then
  5.   echo "Ok, esta bien";
  6. else
  7.   printf "\e[1mPues no, no es asi\e[0m\n"
  8. fi
  9.  
  10.  
Busca algo como PATH o HOME no me acuerdo como era, pero es una variable en especial
[EDIT]
Ahhh, si mira esto:
http://www.tldp.org/LDP/abs/html/abs-guide.html (http://www.tldp.org/LDP/abs/html/abs-guide.html)
Título: Re: Cd $var - No Sirve
Publicado por: x.cyclop en Martes 26 de Septiembre de 2006, 00:29
Ahora sí.

Citar
[EDIT]
Ahhh, si mira esto:
http://www.tldp.org/LDP/abs/html/abs-guide.html (http://www.tldp.org/LDP/abs/html/abs-guide.html)
Lo había visto pero no explica bien. Estoy leyendo Unix Shell Programming, 3rd edition (SAMS). :D

Gracias. :P
Título: Re: Cd $var - No Sirve
Publicado por: su - en Martes 26 de Septiembre de 2006, 00:41
Algo mas, cd es propio de Bash, no es un comando.
En la consola se puede exportar elementos siendo la consola un "cliente en linea" de SH, es decir cuando ejecutas un programa, como echo o ls estas "haciendo un programa", a diferecia de el DOS (Si no es asi... pues ya saben digan) Bash es mas que un modo de comando, es un lenguaje usado como modo de comandos, pro eso el path no se exporta y por eso se puede filtrar la salida de un comando en una misma linea.