Creo que esto ya parece algun paquete de Debian, todo por partes, un ejemplo seria php5, php5-mysql, php5-gd, pero que va, asi es algo mas organizado y pues ahora creamos ejemplo1.bash (Con el editor que mas nos guste)
#!bin/bash
##########################
#Un script
# David Barreda 19/Mayo/07
##########################
clear
Who am I
echo “Mostrando el contenido del directorio actual”
sleep 3
ls
sleep 3
clear
le doy sus permisos de ejecucion
pato@A17:~$ chmod 755 ejemplo1.bash
y lo ejecuto
pato@A17:~$ ./ejemplo1.bash
pato pts/0 2007-05-19 13:36 (:0.0)
Mostrando el contenido del directorio actual
ark cosa Desktop Examples pato.tar.bz2 practicas
cipfried.npc d3 ejemplo1.bash impresora pato.tar.gz tmp1.txt
Vamos a ver las variables de ambiente con env (Borre algunas que estaban muy largas)
pato@A17:~$ env
SSH_AGENT_PID=5368
SHELL=/bin/bash
DESKTOP_STARTUP_ID=
TERM=xterm
GTK_RC_FILES=/etc/gtk/gtkrc:/home/pato/.gtkrc-1.2-gnome2
WINDOWID=44072840
USER=pato
SSH_AUTH_SOCK=/tmp/ssh-ywdtkv5330/agent.5330
GNOME_KEYRING_SOCKET=/tmp/keyring-F3dkyR/socket
SESSION_MANAGER=local/A17:/tmp/.ICE-unix/5330
USERNAME=pato
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
DESKTOP_SESSION=default
GDM_XSERVER_LOCATION=local
PWD=/home/pato
LANG=es_MX.UTF-8
GDMSESSION=default
HISTCONTROL=ignoreboth
SHLVL=1
HOME=/home/pato
GNOME_DESKTOP_SESSION_ID=Default
LOGNAME=pato
LESSOPEN=| /usr/bin/lesspipe %s
DISPLAY=148.226.81.52:0
LESSCLOSE=/usr/bin/lesspipe %s %s
COLORTERM=gnome-terminal
XAUTHORITY=/home/pato/.Xauthority
_=/usr/bin/env
Ahora vamos a crear una y luego vemos su contenido
pato@A17:~$ export PATH=.:$PATH
pato@A17:~$ echo $PATH
.:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
Haciendo este script algo mas largo, complejo, y mas bonito =) (esta vez lo descargamos por scp de la leccion de acceso
remoto para no tenerlo que re-escribir
pato@A17:~$ scp pato@148.226.81.23:/home/gerardo/public_html/ls .
pato@148.226.81.23’s password:
ls 100% 331 0.3KB/s 00:00
pato@A17:~$ cat ls
#!/bin/bash
##########################
#Mi primer script
# Gerardo, 19/mayo/07
##########################
clear
echo “Mostrando el contenido del directorio actual”
sleep 3
echo “Borrando tu disco duro”
sleep 1
echo “.”
sleep 2
echo “..”sleep 3
echo “…”
sleep 3
clear
echo “Just kidding, por eso no debes tener el . en tu path”
Y he alli, la razon de porque no se debe poner el . en el path porque asi te pueden JODER! Ejecutando el script este (que bien podria tener un rm -rf * y borrar todo tu contenido) en lugar del comando ls ya que con el comando que hicimos hace rato, era para que no tubieras que poner ./ls y pusieras solo el nombre del binario, en este caso ls que tiene una broma que en algun momento podria ser maliciosa
Mejor cuando queramos nuestro path hacemos algo asi:
pato@A17:~$ mkdir bin
pato@A17:~$ export PATH=$PATH:/home/pato/bin
Y en este momento, nos estan pasando unas copias para aprender como usar el shell mejor, las leere mas tarde y publicare las payasadas que haga por aqui.
Ahora vamos a hacer un pequeño script que limpie la pantalla, nos de la hora, se duerma 10 segundos y vuelva a limpiar la pantalla:
pato@A17:~$ nano ejemplo2.bash
pato@A17:~$ chmod 755 ejemplo2.bash
pato@A17:~$ ejemplo2.bash
pato@A17:~$ mv ejemplo2.bash bin
Aqui el script que hize: (el contenido del ejemplo2.bash)
#!/bin/bash
##########################
#Un script
# David Barreda 19/Mayo/07
##########################
clear
date
sleep 10
clear
Claro, solo escribo ejemplo.bash porque ya puse mi path hace rato, pero como es un binario en cualquier otro lugar seria
./ejemplo2.bash
Ahora otros 2 scripts, uno que borre (sintaxis: elimina ) y otro que recupere (recupera ) lo que borre con el otro.
pato@A17:~/bin$ cat borrar
echo $1
mv $1 ~/.Trash
pato@A17:~/bin$ cat recupera
echo $1
mv ~/.Trash/$1 ~/
y listo! Aqui estan los resultados:
pato@A17:~$ touch x
pato@A17:~$ ls
ark cipfried.npc d3 ejemplo1.bash impresora pato.tar.gz tmp1.txt
bin cosa Desktop Examples pato.tar.bz2 practicas x
pato@A17:~$ borrar x
x
pato@A17:~$ ls
ark cipfried.npc d3 ejemplo1.bash impresora pato.tar.gz tmp1.txt
bin cosa Desktop Examples pato.tar.bz2 practicas
pato@A17:~$ recupera x
x
pato@A17:~$ ls
ark cipfried.npc d3 ejemplo1.bash impresora pato.tar.gz tmp1.txt
bin cosa Desktop Examples pato.tar.bz2 practicas x
Y pues con algo simple hicimos algo UTIL.
Ahora, algo un script, que nos cree scripts…
echo “#!/bin/bash”>$1
echo “################”>>$1
echo “#Nombre del script $1>>$1
echo “#Creador `whoami`>>$1
echo “#Fecha: `date`”>>$1
echo “################”>>$1
echo “Creando archivo ´$1´?
echo “Cargando…. ”
sleep 3
nano $1
chmod 755 $1
echo “Cambiando Permisos”
Asi creo un script con ese script con la extension .bash, y de tarea le tengo que agregar lo siguiente:
- Si no especificas el nombre del script, te debe preguntar como se va a llamar este.
- Si ese archivo ya existe, debes de cargar el que esta alli.

Entries (RSS)