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
LEOD=/home/leo/Desktop
cd $LEOD
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
LEO="/home/leo/desktop"
cd $LEO
:whistling:
Código: Text
#/usr/bin/env perl
my $leo = "$ENV{HOME}/desktop"; #O se puede usar sin "my"
chdir $leo or die "No se puede ir a $leo: $!\n";
: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
./ho: line 5: chdir: command not found
: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
#!/usr/bin/env bash
LEO='/usr'
cd "$LEO"
if [ `pwd` = '/usr' ]; then
echo "Ok, esta bien";
else
printf "\e[1mPues no, no es asi\e[0m\n"
fi
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.