Foro de elhacker.net

Sistemas Operativos => GNU/Linux => Mensaje iniciado por: Skeletron en 28 Noviembre 2013, 23:18 pm



Título: Problemas al correr un SHELL
Publicado por: Skeletron en 28 Noviembre 2013, 23:18 pm
Hola gente.
Soy bastante novato en esto, así que espero explicarme bien.

Daré un ejemplo de algo que hago en Windows, y no puedo hacer en Linux, y me gustaría que me digan como hacerlo.

En Windows, creo un archivo "goto.bat" el cual contiene las siguientes lineas:
cd C:/Users/Noel/Fotos

Ok... Luego abro una consola de comandos, y escribo "goto.bat" y preciono ENTER... Se ejecuta el goto.bat, y me lleva automaticamente a esa carpeta... O sea que, esté en donde esté, voy a ir a esa carpeta cuando escriba goto.bat

Ok... En Linux, creo un archivo "goto", lo pongo en /usr/bin (o /usr/local/bin... no recuerdo bien ahora) y le pongo de contenido:
#!/bin/bash
cd /var/www

Y cuando lo ejecuto, no va hacia alla....
Funciona correctamente, porque si pongo un "echo" me muestra el mensaje correctamente, así que tiene los permisos de ejecucion y demas...
Es mas... si le pongo ésto:
#!/bin/bash
cd /var/www
mkdir pepe

me creará la carpeta PEPE dentro de /var/www... Pero.... al terminar el script, mi no estaré en /var/www.

Como puedo hacer para que suceda ésto?


Título: Re: Problemas al correr un SHELL
Publicado por: el-brujo en 29 Noviembre 2013, 18:55 pm
la shell funciona más o menos igual, lo que varia aquí es el comportamiento del .bat, que en Windows si haces un cd abre el explorador y te lleva a esa carpeta, en Windows también va a esa carpeta, pero no abre el explorador.

¿Que es lo que quieres hacer exactamente?

seguro que si haces:

Código:
#!/bin/bash
cd /var/www
pwd

te  muestra /var/www

Quizás en tu caso sería mejor crear un alias ¿?




Título: Re: Problemas al correr un SHELL
Publicado por: Skeletron en 29 Noviembre 2013, 23:09 pm
Me he explicado mal.

Basicamente, yo necesito moverme muy rapidamente entre carpetas.
Ejemplo:
Estoy trabajando en /var/www/ y necesito ir rapido a /var/svn/servidores y realizar alguna tarea y luego irme rapido a /var/svn/clientes hacer algo y luego volver a /var/www

Entonces, yo quiero hacer algo así:
estando en /var/www, ejecuto el comando: "gotoservirdores" y me posiciona en /var/svn/servidores.
Estando ahí, supongamos que hago alguna tarea y luego ejecuto "gotoclientes" y me lleva a /var/svn/clientes, realizo una tarea y luego ejecuto "gotowww" y me lleva a /var/www

Quiero hacer esto porque muchas veces se me hacen lagunas en la cabeza y no recuerdo donde estaba X carpeta... entonces, con solo recordar el "goto xxx" es suficiente.

Tengo pensado crear un archivo "goto" que segun el parametor que reciba, me lleve a diferentes directorios.


Título: Re: Problemas al correr un SHELL
Publicado por: el-brujo en 13 Diciembre 2013, 19:28 pm
puedes crear un alias en linux:

Código
  1. alias gotoservirdores='cd /var/svn/servidores'
  2. alias gotoclientes='cd /var/svn/clientes'
  3.  

Ejemplos:

Postea tu .bashrc/alias/scripts/.vimrc
http://foro.elhacker.net/gnulinux/postea_tu_bashrcaliasscriptsvimrc-t331679.0.html


Título: Re: Problemas al correr un SHELL
Publicado por: Skeletron en 14 Diciembre 2013, 01:44 am
Bien. Genial.
Solucionaría mi problema para realizar "cd" de carpeta a otra.

Pero si necesito hacer mas cosas, por ejemplo, recibir parametros y demas?

Mi idea era hacer algo así:

goto -apache
y que vaya a la carpeta de APACHE
y si haces:
goto -php vaya a la carpeta donde está el php.ini
y varios mas.
Se podrá?