Foros del Web » Administración de Sistemas » Unix / Linux »

bash cambio de carpeta

Estas en el tema de bash cambio de carpeta en el foro de Unix / Linux en Foros del Web. tengo un script dentro de /mnt con las sgtes lineas cd / cd etc cuando ejecuto el script no hace el cambio de carpeta [rootARROBAserver ...
  #1 (permalink)  
Antiguo 02/10/2009, 16:33
 
Fecha de Ingreso: octubre-2006
Mensajes: 59
Antigüedad: 17 años, 6 meses
Puntos: 0
bash cambio de carpeta

tengo un script dentro de /mnt
con las sgtes lineas

cd /
cd etc

cuando ejecuto el script no hace el cambio de carpeta

[rootARROBAserver mnt]# bash script
[rootARROBAserver mnt]#

==> no deberia ser asi [rootARROBAserver etc ]# ?

que estoy haciendo mal.. alguna sugerencia ? muy agradecidos
  #2 (permalink)  
Antiguo 02/10/2009, 21:13
Avatar de ociomax
Colaborador
 
Fecha de Ingreso: mayo-2002
Ubicación: Temuco, Chile
Mensajes: 5.595
Antigüedad: 21 años, 11 meses
Puntos: 35
Respuesta: bash cambio de carpeta

Cuando ejecutas un script, los cambios de directorios y la creación de variables sólo son válidos mientras se ejecuta el script. En rigo, lo que sucede es que se inicia un nuevo proceso bash (o de la shell que estés usando) y todo se ejecuta allí.

En el caso que mencionas, deberías usar un alias; algo así como:
Código:
alias milindoalias='cd /etc'
__________________
Christian González, "OCIOMax"
http://chgonzalez.blogspot.com
http://twitter.com/chgonzalez
  #3 (permalink)  
Antiguo 28/10/2009, 17:28
 
Fecha de Ingreso: octubre-2006
Mensajes: 59
Antigüedad: 17 años, 6 meses
Puntos: 0
Respuesta: bash cambio de carpeta

no entendí. puedes detallar más ?
  #4 (permalink)  
Antiguo 29/10/2009, 08:18
Avatar de ociomax
Colaborador
 
Fecha de Ingreso: mayo-2002
Ubicación: Temuco, Chile
Mensajes: 5.595
Antigüedad: 21 años, 11 meses
Puntos: 35
Respuesta: bash cambio de carpeta

No entendí qué fue lo que no entendiste. ¿Puedes detallar más tu pregunta?
__________________
Christian González, "OCIOMax"
http://chgonzalez.blogspot.com
http://twitter.com/chgonzalez
  #5 (permalink)  
Antiguo 29/10/2009, 08:44
Avatar de Claw  
Fecha de Ingreso: abril-2009
Mensajes: 299
Antigüedad: 15 años
Puntos: 9
Respuesta: bash cambio de carpeta

Lo que creo que quiere decir ociomax es que los cambios de carpeta dentro de un script sólo afecta al script. Es decir, que si hacemos:

Código:
#!/bin/bash
cd /
ls -l
La salida del script sería la lista de directorios de la raíz. Pero, sin embargo, si ejecutamos el cambio de directorio en el script y, una vez finalizado éste intentamos hacer un ls -l, obtendremos la lista de carpetas del directorio desde el que estamos ejecutando el script.

Por tanto, como bien apunta ociomax: los cambios de directorio sólo afecta al script. Ejecutar un script que nos haga cambiar de directorio no funcionaría a menos que declaremos la instruccion "cd" como un alias.

Salu2

PD: yo tampoco entendí lo que no entendiste, general9000
  #6 (permalink)  
Antiguo 29/10/2009, 09:44
 
Fecha de Ingreso: octubre-2006
Mensajes: 59
Antigüedad: 17 años, 6 meses
Puntos: 0
Respuesta: bash cambio de carpeta

Cita:
Iniciado por Claw Ver Mensaje

PD: yo tampoco entendí lo que no entendiste, general9000
:) que debo poner en el script para hacer el cambio de carpeta ?

Última edición por general9000; 29/10/2009 a las 10:03
  #7 (permalink)  
Antiguo 26/11/2009, 17:05
 
Fecha de Ingreso: octubre-2006
Mensajes: 59
Antigüedad: 17 años, 6 meses
Puntos: 0
Respuesta: bash cambio de carpeta

Cita:
Iniciado por ociomax Ver Mensaje
Cuando ejecutas un script, los cambios de directorios y la creación de variables sólo son válidos mientras se ejecuta el script. En rigo, lo que sucede es que se inicia un nuevo proceso bash (o de la shell que estés usando) y todo se ejecuta allí.

En el caso que mencionas, deberías usar un alias; algo así como:
Código:
alias milindoalias='cd /etc'
puedes poner un script de ejemplo ? disculpa la insistencia .. muy agradecido
  #8 (permalink)  
Antiguo 26/11/2009, 18:31
Avatar de ociomax
Colaborador
 
Fecha de Ingreso: mayo-2002
Ubicación: Temuco, Chile
Mensajes: 5.595
Antigüedad: 21 años, 11 meses
Puntos: 35
Respuesta: bash cambio de carpeta

No es un script, sino un alias. Simplemente agrégalo a tu $HOME/.bashrc.
__________________
Christian González, "OCIOMax"
http://chgonzalez.blogspot.com
http://twitter.com/chgonzalez
  #9 (permalink)  
Antiguo 27/11/2009, 07:55
 
Fecha de Ingreso: octubre-2006
Mensajes: 59
Antigüedad: 17 años, 6 meses
Puntos: 0
Respuesta: bash cambio de carpeta

Cita:
Iniciado por ociomax Ver Mensaje
No es un script, sino un alias. Simplemente agrégalo a tu $HOME/.bashrc.
eso sería una gran ayuda al hacer el cambio de carpeta desde consola

pero no hay posibilidad de manejar el cambio desde un script ? :(


#!/bin/sh
milindoalias


linea 2: milindoalias : command not found


PD. el cambio de carpeta es parte de las muchas tareas que tiene que realizar mi script final
luego de ese cambio, debo seguir ejecutando comandos en la nueva carpeta...

.. muy agradecido

Última edición por general9000; 27/11/2009 a las 09:14
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:50.