Deseo poco a poco ir poniendo artículos sobre Bash, pues material tengo suficiente para ir enseñándoles poco a poco tips, hacer scripts, y mucho más, de forma tal que nuestras tareas cotidianas sean automáticas por lo que, obviamente nos ahorrará montón de tiempo 😀
Ahora les mostraré lo básico, lo que siempre necesitarán saber, y que me servirá de apoyo para el resto de los tutoriales 😉
¿Cómo hacer un script .sh?
Simple… muy simple 😀
1. Abran una terminal, en ella escriban lo siguiente y presionen [Enter]:
cd $HOME && touch script.sh && chmod +x script.sh
Esto bastará para que se les cree un archivo script.sh en su carpeta personal.
2. En la terminal pongan lo siguiente:
cd $HOME && echo '#!/bin/bash' > script.sh && echo '# -*- ENCODING: UTF-8 -*-' >> script.sh
3. Listo, ya tienen su script listo 😀
Si lo abrimos nos quedará algo así:
#!/bin/bash
# -*- ENCODING: UTF-8 -*-
Después de esa segunda línea, a partir de ahí se escriben las instrucciones.
Por ejemplo, le diremos que nos muestre en una terminal «<° Linux es lo mejor» 😀
Nos quedaría el script de la siguiente forma:
#!/bin/bash
# -*- ENCODING: UTF-8 -*-
echo "<° Linux es lo mejor"
exit
¿Cómo ejecutar o probar un script .sh?
1. Debemos ir hacia la carpeta donde está el script, en el ejemplo anterior sería nuestra carpeta personal, por lo que abrimos una terminal, en ella escribimos lo siguiente y presionamos [Enter]:
cd $HOME
2. Ahora lo ejecutamos poniendo un punto y un slash (seguidos), y seguido a esto el nombre del script, o sea:
./script.sh
Y bingo, ya lo tenemos 😀
Háganlo y verán…
Ahora un detalle importante, al final siempre deben poner «exit«
Y bueno ya, nada más que agregar, solo que esperen los futuros tutoriales, aquí aprenderán bash JAJA.
Saludos
57 comentarios, deja el tuyo
Gracias amigo, siempre tuve curiosidad de como hacer un script.sh, ahora llegó la hora de aprender, estaré pendiente de los próximos tutos.
Nah, un placer jeje 😀
Ya verás… poco a poco iré poniendo tutoriales de Bash, a ver si alguien se embulla, aprende y todos nos hacemos mejores JAJA.
Saludos
Buenas necesitaria de tu ayuda si usted puede para hecharme una mano con unos script que tengo atrancados y los necesito hacer para una asignatura, me encantaria que se pusierse en contaacto con migo.
Muchas gracias de antemano
Ah mortal !! buenisimo 😉
Gracias 😀
Recuerda que quejas o sugerencias siempre serán bien recibidas 😉
Me gusto el post, siempre que necesito el encabezado de un script me embarco a navevar solo para encontrar la linea: «#!/bin/bash» en la cabecera (soy muy olvidadizo). Ahora con este aporte podre tenerno anotado y solo copiar y pegar 😀
Recuerda que es /bash y /sh … es diferente jaja, yo una vez estuve 2 días peleando con un script que no me no me funcionaba como debía, y era porque puse sh en vez de bash 😀
Cualquier duda nos dices.
Saludos
Jaajajajajaja y esto es lo más sencillo, tambien podrias abrir gedit o cualquier editor y copiar:
#!/bin/bash
# -*- ENCODING: UTF-8 -*-
echo “<° Linux es lo mejor”
exit
Y después le damos permisos de ejecución….
muy buen dato.. saludos
jeje síp, se podría haber hecho eso así, pero no sé… pensé que resultaría más simple hacer copy/paste de dos líneas (que puede ser una en realidad) y ya, listo el script con permisos de ejecución y la cabecera 😀
Hola ¿Los scripts siempre deben salvarse como un fichero .sh?
En windows su similar serían los ficheros .bat . Y en cuanto a su escritura lucen un poco más sencillos.
Muy bueno che
Gracias 😀
Espero los próximos post y por el momento tomando nota.
😉
¿alguna sugerencia, script que quieras que haga o algo así? 😀
¿Este es el que no sabe programar? Aunque sea fácil es programar
JAJAJA venga… ¿te embullas? … aprende un poco de Bash, verás lo genial que es, no necesitas saber programar ni mucho menos 😀
¿qué dices?
Ya lo haré, hoy no estoy para eso
De hecho, si van a crearse scripts regularmente, podría automatizarse la propia tarea también con un script como el sigiuente (solo se copia en $home/bin/ y se le dan permisos de ejecución)
#!/bin/sh
# nuevoscript
if [ $# -eq 0]; then
DEST=$HOME
SNAME=script.sh
elif [ $# -eq 1]; then
DEST=.
SNAME="$1"
else
echo "Parámetros incorrectos"
exit -1
fi
echo -e '#!/bin/bash\n# -*- ENCODING: UTF-8 -*-' > "$DEST/$SNAME" && \
chmod +x "$DEST/$SNAME"
echo "Creado el script $DEST/$SNAME"
exit 0
De esta forma, si se ejecuta nuevoscript sin parámetros, crea $home/script.sh, pero si se ejecuta nuevoscript otroscript, crea ./otroscript
hola amigo quisiera saber como puedo crear un autorun para una sdcard y que sea leido por mi telefono con s.o android y que este al ejecutarse me inicie abd.exe mas el comando bugreport > bugreport.txt
Ni idea amigo… nunca he usado Android.
Gracias gaara, queria encontrar un lugar donde se me enseñara algo de scripts, creo que en un mail te mencioné esto que de verdad es algo que necesito aprender. Me seguí los pasos que detallas y todo perfecto pero no se me ejecuta, me sale esto:
./script.sh: línea 5: EOF inesperado mientras se buscaba un `»‘ coincidente
./script.sh: línea 9: error sintáctico: no se esperaba el final del fichero
Explícame cual es mi metedura de pata
Mi culpa, WordPress cambia unos detalles, mira de nuevo el código que está en el post y ponlo así en tu script.
Lo que sucede es que:
No es lo mismo que:
"asd"
No entiendo, sigo viéndolo igual. Donde está el cambio? Podrías explicarme mejor? Ahora al darle ejecutar sale esta linea:
./script.sh: línea 5: °: No existe el archivo o el directorio
Pásame el script que estás ejecutando, pon el code aquí: http://paste.desdelinux.net
Mira de nuevo el post, es que había olvidado dar clic en el botón de Actualizar 😀
Hola socio:
Te diré que estuve viendo el script conkyrc que hicistes para tu conky 2010 y si, es cierto, el símbolo del disco pertenece a una fuente llamada Poky pero que no viene por defecto en el libreOffice en Ubuntu 12.04, seria bueno, si tienes esta fuente, decirme de donde puedo descargarla (Algo un poco difícil la verdad), una cosa que me he dado cuenta es que cuando se ponen las letras de estos símbolos y en el sistema no existe la fuente entonces te pone la letra, no el símbolo, es lógico, ya me estoy haciendo una idea de como va funcionando todo, pero necesito a alguien que me explique las cosas para entenderlo mejor, todo lo que hago es por deducción y yo nunca he dado nada de programación, no fue informática lo que estudie y ademas, era otra época, tengo la informática como hobby y lo bueno es que estoy trabajando en una de sus ramas, todo lo que he aprendido ha sido de forma autodidacta, por eso mi interés en alguien que, aunque sea poco a poco, me guie. aquí esta también el script de mi conky y te explico lo que no me sale:
Mira, Cuando trato de incertar otro hdd me sigue saliendo el mismo pues da el mismo valor de temperatura. No me sale en sistema las caracteristicas del CPU, sale (NULL) en negrita, cuando trato de insertar el calendario que pusistes en el Conky que tanias en el 2010 se desorganiza y ensancha la barra del conky. Mira a ver todas las mejoras que le puedas hacer. Me gusta con el ancho que tengo y que el calendario tuyo se adapte a ese ancho y que me salga todo lo que te dije que no muestra , ahí va:
http://paste.desdelinux.net/4552
–Pon el código en el paste nuestro, así los comentarios no son tan extensos–
la verdad q tu aporte es lamentable
Hola me has facilitado la vida con este script. Muchas gracias per me gustaria saber si puedes enviarme un correo donde lo describas ya que soy nevo en esto de la programacion.
Gracias
Hola,
Mejor no he podido describir/explicar estas líneas de código, ¿qué no has entendido para explicarte de otra forma?
Igual si te quedas con dudas siempre puedes preguntar en nuestro foro: foro.desdelinux.net
Saludos 😀
Buen aporte pero podrias redondearmelo…necesito un script para un sai. Osea, que cuando el Sai se de cuenta de que esta con la bateria y tiene 20 minutos para apagarse, este le manda una señal a un aparato y ese tiene que ejecutar el script para que me apage unos servidores. No se si me he explicado bien… Valdria con poner en tu script «shutdown -h»??
Gracias!!
Algo mas para agregar a mi carpeta de plantillas :B
alguien me podria ayudar nesecito un script para ubuntu que si el navegador chrome lo cerramos lo vuelva abrir
gracias de antemano
Necesito un script que con solo ejecutarlo me sobreescriba la informacion de un archivo con otro texto, alguien sabe como es?
ya vi que arriba dicen como hacerlo
Muy bueno , para mis nietos excelente.
Mil Graias. » Asi como tu hubieran muchos jovenes, haciendo de profesores….seria maravilloso.
Simple y funcional, a como debe ser.
Gracias por compartir.
Saludos.
Gracias por su ayuda. me fue útil, muy buena explicación.
Gracias me sirvió. Saludos
Sencillo y eficaz. Gran tutorial para los nuevos 🙂
Hola, sé muy poco de scrips y no sé si estoy confundiendo conceptos pero lo que intento hacer está en la siguiente pag web :
http://beginlinux.com/blog/2010/03/iptables-with-network-card-aliases/
El punto es que no entiendo muy bien como poder arrancar este código o si es que esto reemplaza el IPTABLES. Y si es que lo reemplaza como se pondría para que arranque automáticamente con el SO.
Gracias
Buenísimo Gaara!!!
Me puse a hacer la tarea tal como explicaste y funcionó!! Gracias por tomarte el tiempo y compartir con los ignorantes tus conocimientos para salir de las tinieblas.
😉
hola,tengo alguna duda para hacer un script que cree un usuario,me podria ayudar?
hola tengo una duda con un archivo.sh
tienes alguna forma que
te contacte para ver si lo estoy haciendo bien ??
#!/system/bin/sh
mount -o remount,rw /
mkdir /mnt/local/Android/data/org.xbmc.xbmc/files/.xbmc
ln -s /mnt/local/Android/data/org.xbmc.xbmc/files/.xbmc /.xbmc
mount -o remount,ro /
, lo ejecuto manuialmente en la terminal y si funciona, pero cuando quiero que el archivo se ejecute no quiere.
Este lo encontré en vivaolinux.com.br, es genial
#!/bin/bash
Basado en Gera.sh – Gera cabeçalho para scripts
Escrito por: Sandro Marcell P. Barbosa (Boa Vista – Roraima)
E-mail: sandro_marcell@yahoo.com.br
Slackware GNU/Linux 10.1.0
Ejemplo de uso: nombre_script mi_script
Você também pode especificar a extensão, conforme o interpretador.
Ex.: nome_script backup.sh para o interpretador ‘sh’
ou nome_script backup.tcl para o interpretador ‘tcl’ e assim por diante!
Definindo el interpretador puede (substituir por otro!):
INTERPRETADOR=»#!/bin/sh»
Contenido de la cabecera (altere conforme quiera!):
INFO=»## »
CREADOR=»## Escrito por: »
EMAIL=»## E-mail: tu@correo.com»
DISTRO=»## »
Verificando si el usuario especificó el nombre del script:
if [ $# -eq 0 ] ; then
echo «>>> Uso: $(basename $0) »
exit
fi
if [ $# -ge 2 ] ; then
echo «Nombre con espacios no son válidos!»
exit
fi
El usuario puede escribir en el diretorio actual?
if [ ! -w $PWD ] ; then
echo «Sin permiso para escribir el directorio actual!»
exit
fi
Y si existe otro script con el mismo nombre en el directorio actual?
if [ -f $1 ] ; then
echo «Ya existe un script con el mismo nombre en este directorio!»
exit
fi
Cuerpo del script:
(
cat << FIN
$INTERPRETADOR
$INFO
$CREADOR
$EMAIL
$DISTRO
Ahora agregue comandos en las lineas subsiguientes =)
Fecha de Creación de este script: $(date «+%a %d/%m/%Y») a las $(date «+%T»)
FIN
) > $1
Configurando permiso de ejecución:
if [ -f $1 ] ; then
chmod +x $1 2> /dev/stdout
echo «Script $1 creado y con permiso de ejecución!»
fi
Fecha de creación de este script: 29/01/2013 19:45:00
Estupendo, funciona a la perfección !!!
Muy buen tutorial, sencillo y me ha servido de mucho, gracias
Estimado KZKG yo soy novato , pero estoy interesado en aprender.
Tienes otros scrip. O de repente en el lugar donde trabajo quiero abrir uno que esta compilado y no logro verlo.
Alguna idea.
Requiero ayuda con un script. Está compilado.
entendí lo del bash, pero si quiero hacer un alias automatizado no me sale
Mil gracias por tu ayuda amigo.
Me gustaría saber si me puedes hacer un favor grandisimo, necesito crear un script que me ayude a crear un .sum a una hora determinada pero no se como parametrizarla. Es posible que me puedas ayudar con algunas indicaciones. Gracias y estare atenta por si puedes colaborarme.
Saludos
Hola buenas tardes, mira estoy realizado un trabajo en lex, entonces quisiera si me puedes ayudar con un Script, con el cual pueda correr el archivo de lex, el que genera lex (lex.yy.c) y el archivo de entrada de datos.
Muchas gracias
berro gracias doc!!! estoy nuevo en eso de los script muchas gracias saludos estare al pendiente con tus nuevos tuto!!!!
Hola!!!
Muchas gracias por tus aportaciones, estoy empezando a meterme en unix y pues es raro que alguien explique de forma tan sencilla este universo de código. Quisiera preguntarte si con tu procedimiento puedo hacer un script que me ayude a buscar n numero de archivos que viven en una misma ruta, y que me los copie a otra carpeta… alguien me dijo que puedo almacenar en un txt la ruta y el nombre de mis archivos, pero no me queda claro como hacerlo. Quedo atenta.
Saludos!!
Hola tengo un VPS pero necesito ayuda en alguna cosas orita mismo estoy interesado en como crear un script o algo para que me ejecute un auto backup de todo lo que este dentro de mi carpeta /root y que ese backup se ejecute cada 1 hora si me podrías ayudar en eso te agradecería demasiado en eso
Te dejo mi facebook si me quieres ayudar necesito mucha ayuda 🙂
me cree uno para hacer ping y monitorear ciertos equipos de red en la empresa
pero lo hice sencillo
touch red.sh && chmod +x red.sh
echo ‘# –– ENCODING: UTF-8 –-‘ >> red.sh
echo ‘ping 10.50.0.125 -w 5’ >> red.sh
echo ‘ping 10.50.0.80 -w 5’ >>red.sh
lo ejecute ./red.sh y fino
Estimados, requiero crear un scritt de instalación automática. Estoy dispuesto a pagar por un trabajo bien realizado. Quienes estén interesados, enviarme E-mail a carranzalh@gmail.com. Gracias
me chupan la pinga XD
Amigo buenos dias podria ayudarme en algo
Necesito hacer un backup con linux de la empresa ya que es mas seguro para que no lo agarren virus pero no se como hacerlos
necesito crear un scrip el cual me empaquete los archivos y me los envie a un ftp
Le agradeceria de ante mano escribir a mi correo
cesarloscor@gmail.com