Autor
|
Tema: shell script (Leído 75,600 veces)
|
likhary
Desconectado
Mensajes: 1
|
Que es un menu grafico que empece a hacer para mi script de mysql. Como el anterior tampoco esta terminado. #Función para crear bases de datos en mysql. function create { echo "..-:CREAR UNA BASE DE DATOS NUEVA:-.." echo Nombre de la base de datos: read new_db touch newbase.sql date > easylog.sql
|
|
|
|
« Última modificación: 21 Noviembre 2010, 18:04 por Leo Gutiérrez. »
|
En línea
|
|
|
|
iea0
Desconectado
Mensajes: 5
|
Hola tengo una duda dudosa, es basica, yo crreo,creo que me podeis ayudar he leido lo que aqui se enseña nuy bueno, mi duda es como pasar variables de un script a otro por ejemplo: 1.sh #!/bin/bash echo ejemplo declaracion de una variable mac$=33:44 export mac exit 2.sh #!/bin/bash echo ejemplo de recuperacion de una variable echo lo que hay en memoria: $mac maccanger $mac $iface Esto esta bien?, yo realmente lo que queria es, que estuviese en un txt y no en un sh, me refiero a la declaracion de variables.. se complicaria?, se puede, esta bien..?mi ejemplo, de estar bien siento que moleste a 2 compañeros x pv... Me explico mejor, quisiera que se lean ciertas variables de un fichero, y se pasen al .sh, para luego usarlas alli.
|
|
|
|
« Última modificación: 21 Noviembre 2010, 18:05 por Leo Gutiérrez. »
|
En línea
|
|
|
|
iea0
Desconectado
Mensajes: 5
|
Me han ayudado y ya se como se hace:CITO, para que todo el mundo le pueda ayudar... Imaginate que tengo un archivo de texto llamado archivo.txt con la siguiente Info en 1 sola linea:
ls cama mesa silla
Para abrir esto y leerlo desde bash y ejecutarlo haria algo tipo :
variable=$(gawk '{print $1}' archivo.txt) exec $variable -l
digo print $1 porke solo me interesa la palabra "ls" del archivo.txt asi ejecuto ls -l La duda que me surge es (esta duda es pura curiosidad), si en vez de 1 renglon con palabras tengo dos el sh se estropea, como hago para declarar cada variable de cada renglon columra?, con iteradores y do?
La duda que si me hace falta, imaginar tengo un sh en una consola grafica dentro de las X, como hago "ordeno", para que una parte de las sh se ejecute en otro terminal, se que es con xterm un ejemplito gracias, mandar una funcion a otro terminal y que sh princpal continue...y si de paso me deciis como lepaso las variables declaradas a esa terminal pues ya estai completo. gracias muchas muchas gracias
|
|
|
|
|
En línea
|
|
|
|
iea0
Desconectado
Mensajes: 5
|
Un ejemplo tonto de lo q se puede hacer #! /bin/bash wifi=$(gawk '{print $4}' /root/Desktop/configura.txt) #!con esto llamamos la cuarta variable del fichero en esa ruta que se llamaconfigu.. ifconfig $wifi 192.168.1.148 broadcast 192.168.1.255 netmask 255.255.255.0 route add default gateway 192.168.1.1 $wifi echo nameserver 80.58.61.250 > /etc/resolv.conf echo nameserver 80.58.61.254 >> /etc/resolv.conf y en configura.txt 1tara 2variable variabe ath33 Añado cuidado con el nombre de las variables xp pueden coincidir con comandos internos en este tonto ej me ha pasado 2veces, lan y iface estan usadas x algun programa o no se; jodia todo el sh...
|
|
|
|
« Última modificación: 21 Noviembre 2010, 18:05 por Leo Gutiérrez. »
|
En línea
|
|
|
|
|
El As del Club Paris
|
Listar solo directorios con ls: ls -d */ Ejemplo: faku@faku-desktop:/$ ls -d */ bin/ boot/ cdrom/ dev/ etc/ home/ lib/ lost+found/ media/ mnt/ opt/ proc/ root/ sbin/ selinux/ srv/ sys/ tmp/ usr/ var/ ls -l | grep ^d Ejemplo: faku@faku-desktop:/$ ls -l | grep ^d drwxr-xr-x 2 root root 4096 2009-12-13 17:45 bin drwxr-xr-x 3 root root 4096 2009-12-13 17:59 boot drwxr-xr-x 16 root root 3800 2009-12-14 14:11 dev drwxr-xr-x 138 root root 12288 2009-12-14 14:11 etc drwxr-xr-x 3 root root 4096 2009-12-13 17:26 home drwxr-xr-x 18 root root 12288 2009-12-13 18:45 lib drwx------ 2 root root 16384 2009-12-13 17:18 lost+found drwxr-xr-x 5 root root 4096 2009-12-14 14:11 media drwxr-xr-x 2 root root 4096 2009-10-19 21:04 mnt drwxr-xr-x 2 root root 4096 2009-10-28 17:55 opt dr-xr-xr-x 179 root root 0 2009-12-14 11:11 proc drwx------ 16 root root 4096 2009-12-13 20:02 root drwxr-xr-x 2 root root 4096 2009-12-13 17:45 sbin drwxr-xr-x 2 root root 4096 2009-10-19 20:05 selinux drwxr-xr-x 2 root root 4096 2009-10-28 17:55 srv drwxr-xr-x 12 root root 0 2009-12-14 11:11 sys drwxrwxrwt 15 root root 4096 2009-12-14 15:05 tmp drwxr-xr-x 11 root root 4096 2009-12-13 17:58 usr drwxr-xr-x 15 root root 4096 2009-10-28 18:02 var Listar solo archivos con lsls -l | grep -v ^d Ejemplo: faku@faku-desktop:/$ ls -l | grep -v ^d total 92 lrwxrwxrwx 1 root root 11 2009-12-13 17:18 cdrom -> media/cdrom lrwxrwxrwx 1 root root 33 2009-12-13 17:44 initrd.img -> boot/initrd.img-2.6.31-14-generic lrwxrwxrwx 1 root root 30 2009-12-13 17:44 vmlinuz -> boot/vmlinuz-2.6.31-14-generi Saludos
|
|
|
|
|
En línea
|
|
|
|
Leo Gutiérrez.
. . .. ... ..... ........ ............. .....................
Moderador
 
Desconectado
Mensajes: 2.938
/^$/
|
@m3g@ h@x0R leo@lein:~$ ls -F amsn_received/ Documentos/ dwhelper/ flexdock/ Imágenes/ Plantillas/ Videos/ cpan/ Downloads/ Escritorio/ FrostWire/ Música/ Público/ workspace/ leo@lein:~$ ls -F1 amsn_received/ cpan/ Documentos/ Downloads/ dwhelper/ Escritorio/ flexdock/ FrostWire/ Imágenes/ Música/ Plantillas/ Público/ Videos/ workspace/ leo@lein:~$
|
|
|
|
|
En línea
|
|
|
|
|
El As del Club Paris
|
Vale, esa no la conocia  Existe alguna algun comando para listar solo los archivos? Yo de momento uso: ls -l | grep -v ^d Saludos
|
|
|
|
|
En línea
|
|
|
|
Leo Gutiérrez.
. . .. ... ..... ........ ............. .....................
Moderador
 
Desconectado
Mensajes: 2.938
/^$/
|
leo@lein:/$ ls -DF1 | grep -v "/$" cdrom@ initrd.img@ initrd.img.old@ vmlinuz@ vmlinuz.old@ leo@lein:/$
|
|
|
|
|
En línea
|
|
|
|
b10s_0v3rr1d3
Desconectado
Mensajes: 185
si puede hacerse debe hacerse
|
#!/bin/bash # script para subir un backup por ftp (el usuario 1 por ejemplo) # directorio donde se pondra el backup y el directorio del cual se hace el backup DIRBKP=/backup/ DIR=/home/user1/ # server ftp + user y pass UP=ftp.ejemplo.ko USER=testing PASS=testing12345 # comprobacion de la existencia del directorio donde se guardara el backup COMP=`find / -wholename "$DIRBKP"` # creamos dicho directorio si no existe if [ "$COM" != "$DIRBKP" ] ; then mkdir -p $DIRBKP fi # hacemos el archivo de backup cd $DIRBKP tar czvf nombre_ejemplo.tgz $DIR # conectamos con el ftp y subimos el fichero ftp -inv << $IP open $IP user $USER $PASS binary cd /backup put nombre_ejemplo.tgz quit un ejemplo de un sistema para subir un backup a un server ftp nos leemos
|
|
|
|
« Última modificación: 21 Noviembre 2010, 18:06 por Leo Gutiérrez. »
|
En línea
|
|
|
|
|
El As del Club Paris
|
#!/bin/bash
# script para subir un backup por ftp (el usuario 1 por ejemplo)
# directorio donde se pondra el backup y el directorio del cual se hace el backup DIRBKP=/backup/ DIR=/home/user1/
# server ftp + user y pass
UP=ftp.ejemplo.ko USER=testing PASS=testing12345
# comprobacion de la existencia del directorio donde se guardara el backup COMP=`find / -wholename "$DIRBKP"`
# creamos dicho directorio si no existe
if [ "$COM" != "$DIRBKP" ] ; then mkdir -p $DIRBKP fi
# hacemos el archivo de backup
cd $DIRBKP tar czvf nombre_ejemplo.tgz $DIR
# conectamos con el ftp y subimos el fichero
ftp -inv << $IP open $IP user $USER $PASS binary cd /backup put nombre_ejemplo.tgz quit
un ejemplo de un sistema para subir un backup a un server ftp nos leemos En vez de: DIR=/home/user1/ #Podrias hacer: DIR=$HOME O directamente usar $HOME..Buen Aporte  Saludos
|
|
|
|
|
En línea
|
|
|
|
Leo Gutiérrez.
. . .. ... ..... ........ ............. .....................
Moderador
 
Desconectado
Mensajes: 2.938
/^$/
|
O directamente usar la variable $HOME; no le veo el caso de ahorrarse una letra creando una variable local.
|
|
|
|
|
En línea
|
|
|
|
b10s_0v3rr1d3
Desconectado
Mensajes: 185
si puede hacerse debe hacerse
|
como bien decis se puede utilizar la variable del sistema tratandose del directorio home, pero el script original era para un sistema de monitorizacion (nagios) en el cual se indicaba el directorio donde se guardaban las configuraciones y los distintos logs que generaba, peticion de la empresa donde estuve haciendo practicas y que al final no llego a implementarse (se mudaron a otro sistema xD). lo modifique con los users para mostrar un ejemplo mas de como se podia utilizar para darle otros usos distintos del original (no pense en las var. del sistema, detalle a tener en cuenta la proxima xDD).
|
|
|
|
|
En línea
|
|
|
|
Leo Gutiérrez.
. . .. ... ..... ........ ............. .....................
Moderador
 
Desconectado
Mensajes: 2.938
/^$/
|
Para un exámen de Quimica, en el que tenía que aprenderme 104 elementos, nombre, simbolo, número atómico, etc, me sirvió este script y el siguiente archivo de texto: #!/usr/bin/bash # Tabla interactiva. while true do elemento=$[$RANDOM % 104 + 1] read -p "$elemento : " simbolo until [ $simbolo ] do read -p "$elemento : " simbolo done cat ~/Escritorio/elementos.txt | awk '{print $1 "->|" $2 "|" $3 "|"}' | grep -i ".*|$simbolo|$elemento|$" || { echo -e "\n\aError.\n$elemento pertenece a : " cat ~/Escritorio/elementos.txt | awk '{print $1 "->|" $2 "|" $3 "|"}' | grep -i "|$elemento|$" echo -e "\n"; } done exit 0 elementos.txt: Actinio Ac 89 Aluminio Al 13 Americio Am 95 Antimonio Sb 51 Argón Ar 18 Arsénico As 33 Astato At 85 Azufre S 16 Bario Ba 56 Berkelio Bk 97 Berilio Be 4 Bismuto Bi 83 Bohrio Bh 107 Boro B 5 Bromo Br 35 Cadmio Cd 48 Calcio Ca 20 Californio Cf 98 Carbono C 6 Cerio Ce 58 Cesio Cs 55 Cloro Cl 17 Cobalto Co 27 Cobre Cu 29 Cromo Cr 24 Curio Cm 96 Darwanzio Da 112 Disprosio Dy 66 Dubnio Db 105 Efelio El 115 Einstenio Es 99 Erbio Er 68 Erristeneo Eo 114 Escandio Sc 21 Estaño Sn 50 Estroncio Sr 38 Europio Eu 63 Fermio Fm 100 Flúor F 9 Fósforo P 15 Francio Fr 87 Gadolinio Gd 64 Galio Ga 31 Germanio Ge 32 Hafnio Hf 72 Hassio Hs 108 Helio He 2 Hidrógeno H 1 Hierro Fe 26 Holmio Ho 67 Indio In 49 Iridio Ir 77 Iterbio Yb 70 Itrio Y 39 Kryptón Kr 36 Lantano La 57 Lawrencio Lr 103 Litio Li 3 Lutecio Lu 71 Madveded Mv 110 Magnesio Mg 12 Manganeso Mn 25 Meitnerio Mt 109 Mendelevio Md 101 Mercurio Hg 80 Molibdeno Mo 42 Nectartén Nc 116 Neodimio Nd 60 Neón Ne 10 Neptunio Np 93 Niobio Nb 41 Níquel Ni 28 Nitrógeno N 7 Nobelio No 102 Oberón On 118 Oro Au 79 Osmio Os 76 Oxígeno O 8 Paladio Pd 46 Plata Ag 47 Platino Pt 78 Plomo Pb 82 Plutirio Pl 111 Plutonio Pu 94 Polonio Po 84 Potasio K 19 Praseodimio Pr 59 Prometio Pm 61 Protactinio Pa 91 Radio Ra 88 Radón Rn 86 Renio Re 75 Rodio Rh 45 Rubidio Rb 37 Rutenio Ru 44 Rutherfordio Rf 104 Samario Sm 62 Seaborgio Sg 106 Selenio Se 34 Silicio Si 14 Sodio Na 11 Talio Tl 81 Tántalo Ta 73 Tecnecio Tc 43 Teluro Te 52 Terbio Tb 65 Titanio Ti 22 Torio Th 90 Tulio Tm 69 Tungsteno W 74 Tusfrano Tf 113 Uranio U 92 Vanadio V 23 Xenón Xe 54 Yodo I 53 Zinc Zn 30 Zirconio Zr 40 leo@lein:~/Escritorio$ bash quimic.sh 3 : li Litio->|Li|3| 2 : he Helio->|He|2| 9 : f Flúor->|F|9| 1 : h Hidrógeno->|H|1| 4 : c
Error. 4 pertenece a : Berilio->|Be|4|
3 : li Litio->|Li|3| 5 : leo@lein:~/Escritorio$
|
|
|
|
|
En línea
|
|
|
|
Leo Gutiérrez.
. . .. ... ..... ........ ............. .....................
Moderador
 
Desconectado
Mensajes: 2.938
/^$/
|
Subir una imagen a imageshack: #!/usr/bin/bash if [ $# -lt 1 ] then echo -e "Error, pocos argumentos\n\n$0 imagen"; exit 0 fi curl -H Expect: -F fileupload="@$1" -F xml=yes -# "http://www.imageshack.us/index.php" | grep -i image_link | cut -f 2 -d '>' | cut -f1 -d '<' | grep -o "http.*" | parcellite La parte de curl no es mia, lo saqué de commandlinefu.com. Saludos.
|
|
|
|
« Última modificación: 21 Noviembre 2010, 18:07 por Leo Gutiérrez. »
|
En línea
|
|
|
|
iago99
Desconectado
Mensajes: 1
|
ola! me gustaria acer un script para un juego, asi poder subir antes de nivel y todo eso. estuve buscando y no me aparecio nada de un programa que grava los movimientos y clicks del raton, es lo que necesito, vosotros sabeis algo? gracias
|
|
|
|
|
En línea
|
|
|
|
|
|