shell script

Iniciado por EMPICAL, 20 Mayo 2003, 20:34 PM

0 Miembros y 1 Visitante están viendo este tema.

likhary

#60
Que es un menu grafico que empece a hacer para mi script de mysql. Como el anterior tampoco esta terminado.

Código (bash) [Seleccionar]
#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

iea0

#61
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
Código (bash) [Seleccionar]
#!/bin/bash
echo ejemplo declaracion de una variable
mac$=33:44
export mac
exit


2.sh
Código (bash) [Seleccionar]
#!/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.

iea0

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

iea0

#63
Un ejemplo tonto de lo q se puede hacer

Código (bash) [Seleccionar]
#! /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...

[u]nsigned

Listar solo directorios con ls:

Código (bash) [Seleccionar]
ls -d */
Ejemplo:
Código (bash) [Seleccionar]
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/


Código (bash) [Seleccionar]
ls -l | grep ^d
Ejemplo:
Código (bash) [Seleccionar]
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 ls

Código (bash) [Seleccionar]
ls -l | grep -v ^d
Ejemplo:
Código (bash) [Seleccionar]
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

No hay atajo ante la duda, el misterio se hace aquí...
Se hace carne en cada uno, el misterio es existir!

leogtz

@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:~$
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

[u]nsigned

Vale, esa no la conocia  ;D

Existe alguna algun comando para listar solo los archivos? Yo de momento uso:

Código (bash) [Seleccionar]
ls -l | grep -v ^d

Saludos

No hay atajo ante la duda, el misterio se hace aquí...
Se hace carne en cada uno, el misterio es existir!

leogtz

leo@lein:/$ ls -DF1 | grep -v "/$"
cdrom@
initrd.img@
initrd.img.old@
vmlinuz@
vmlinuz.old@
leo@lein:/$
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

b10s_0v3rr1d3

#68
Código (bash) [Seleccionar]

#!/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

[u]nsigned

Cita de: b10s_0v3rr1d3 en 22 Diciembre 2009, 00:42 AM

#!/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:
Código (bash) [Seleccionar]
DIR=/home/user1/
#Podrias hacer:
DIR=$HOME


O directamente usar $HOME..Buen Aporte  ;D

Saludos

No hay atajo ante la duda, el misterio se hace aquí...
Se hace carne en cada uno, el misterio es existir!