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?
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:
#!/bin/bash
cd /var/www
pwd
te muestra /var/www
Quizás en tu caso sería mejor crear un alias ¿?
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.
puedes crear un alias en linux:
alias gotoservirdores='cd /var/svn/servidores'
alias gotoclientes='cd /var/svn/clientes'
Ejemplos:
Postea tu .bashrc/alias/scripts/.vimrc
http://foro.elhacker.net/gnulinux/postea_tu_bashrcaliasscriptsvimrc-t331679.0.html
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á?