InicioLinuxsms desde la consola

sms desde la consola

Linux5/15/2011
hice un script para mandar sms desde la consola via bluethoo; usa gammu

1ero, gammu, para los que no lo conocen "gammu es una herramienta de consola y una bibioteca para trabajar con telefonos moviles de carias marcas. permite usar las caracteristicas especificas de los diferentes modelos, pero las funciones basicas deberian funcionar en la mayoria de ellos. el programa puede funcionar con contactos, mensajes (SMS, EMS, MMS), calendario, listas de tareas, sistema de archivos, radio integrada, camara, etc. Tambien permite su uso en modo demonio para el envio y recepcion de SMS" (copiado mas o menos textual de la descripción de el centro de software de debian) la parte de enviar sms es lo que nos interesa ahora.

para enviar sms con gammu solo hay que configurar el celular, y una vez hecho esto, escribir en la consola

$ gammu sendsms text EL NUMERO DEL DESTINATARIO

no se puede escribir directamente el nombre del destinatario esperando que gammu lo busque solo en la agenda (al menos yo no pude hacerlo); luego damos enter, esperamos unos 10 segudos (mas o menos) a que gammu aceda al celular, y nos da la opcion de escribir el texto, escribimos y confirmamos con "control D" y listo, gammu envia el sms

obviamente no es lo mas practico del mundo, si no te sabes los numeros de memoria digamos que es TOTALMENTE inservible

(aclaracion: gammu tambien cuenta con una interfaz grafica, pero para el envio de sms me parece que tambien es poco practica, en mi opinion esta mas destinada a la gestion de archivos. eso si, la recomiendo para configurar el celular ya que cuenta con un "ayudante" para la configuración del celular que lo hace realmente fácil)

lo unico que hice yo fue un pequeño script (muy sencillo) para simplificar bastant el proceso. con mi script solo hace falta escribir

ss EL NOMBRE DEL DESTINATARIO

damos enter, imediatamente nos pide que escribimos el mensaje, de nuevo enter y listo, el programa envia el sms.

el programa no busca los nombres en el celular, si no que hay que guardarlos en un archivo, el archivo funciona como "agenda" para que luego el script busque en base al nombre que le dimos el respectivo numero; para agregar un contacto a esta "agenda" solo escribimos

ss add NOMBRE NUMERO


y listo, ya solo hay que escribir

ss NOMBRE

redactar el mensaje y enviar

aquí les dejo el script

#!/bin/bash
#: title : ss (send sms)
#: data : 2011-05-13
#: author : "mrtnfs"
#: version : 1.0
#: description : envia sms mediante gammu usando nombres en vez de numeros (los nombres hay que guardarlos por separado en bin/numeros_ss)
#: options : añadir numero al archivo numeros_ss; "add"
#: leer sms en memoria sim (solo los primeros 30 sms); "read"
#: borrar los sms de la memoria sim; "clean"
#: mostrar lista de numerso en numeros_ss; "list"
#: mostrar las opciones y sintaxis

# si la 1era palabra no es "add", "read" o "clean" buscar la palabra en numeros_ss y enviar sms si existe
if [ $1 != 'add' ] && [ $1 != 'read' ] && [ $1 != 'clean' ] && [ $1 != 'list' ] && [ $1 != 'options' ] ## && [ $1 != 'borrar' ]
then
for a in `sed -n /$1/p bin/numeros_ss`
do
printf "%s " 'mensaje:'
read TEXTO
NUMERO=`echo $a | cut -d ',' -f2`
printf "%sn" 'enviando espere..'
gammu sendsms text $NUMERO -len 1000 -text "`echo $TEXTO`"
printf "%sn" 'mensaje enviado'
done

# borrar numero de numeros_ss -- no funciona
## elif [ $1 = 'borrar' ]
## then
## echo `sed -n /^$2/d bin/numeros_ss`
## printf "%s %snn" $2 'eliminado, asi esta tu lista ahora:'
## cat bin/numeros_ss

# si la primera palabra es "read" leer sms de sim
elif [ $1 = 'read' ]
then
gammu getallsms 2

# si la primera palabra es "clean" borrar sms de sim
elif [ $1 = 'clean' ]
then
gammu deleteallsms 1

# si la primera palabra es "add" y la 3era es un numero mayor a 1, agregar numero a numero_ss y mostrar la lista de numeros
elif [ $1 = 'add' ] && [ $3 -ge 1 ]
then
echo $2','$3 >> bin/numeros_ss
printf "%s %sn" $2','$3 'agregado, asi esta tu lista ahora:'
cat bin/numeros_ss
printf "n%1.20sn" '----------------------------------'

# si la primera palabra es "list" muestrar lista de numeros en numeros_ss
elif [ $1 = 'list' ]
then
cat bin/numeros_ss
printf "n%1.20sn" '----------------------------------'

# si la primera palabra es igual a "options"
elif [ $1 = "options" ]
then
printf "n%sn%sn%sn%sn%sn%snn" 'enviar ss -----> ss send <nombre>' 'leer smss -----> ss read' 'borrar smss ---> ss clean' 'agregar num ---> ss add <nombre> <numero>' 'num list ------> ss list' 'opciones ------> ss options' ## borrar num ---> 'ss borrar <nombre>'

# si error, y recordar la sitaxis
else
printf "n%snn%s%sn%sn%sn%sn%snn" 'ERROR: o alguno de los parametros no coincide, o falta informacion' 'enviar ss -----> ss send <nombre>' 'leer smss -----> ss read' 'borrar smss ---> ss clean' 'agregar num ---> ss add <nombre> <numero>' 'num list ------> ss list' 'opciones ------> ss options' ## borrar num ---> 'ss borrar <nombre>'

fi



como lo dice la descripción del script, también facilita las acciones de leer los sms que nos han enviado y de limpiar la bandeja de entrada

cuando agreguemos un numero a la agenda, el scrip va a crear el archivo ~/bin/numeros_ss que es donde va a guardar los números, se puede cambiar la carpeta y el nombre del archivo obvio, solo es arreglar unos detalles en el script

para que la consola aceda directamente al scritp debemos configurar PATH, para eso solo escribimos PATH=PATH:"la dirección dond guardamos el script" (yo recomiendo crear una carpeta "bin" en home/usuario, y ahí guardar el archivo con números)

para configurar el cel recomiendo instalar wammu y configurar de ahí, eso nos crea un archivo oculto en nuestra carpeta home que contiene la configuración, es todo lo que necesitamos, después se pude borrar wammu tranquilamente. es lo mas fácil, así lo hago yo

bueno eso es todo, cualquier cosa preguntan, espero le sirva a alguien, a mi me resulta super practico

PD: el script no deb estar muy "bien hecho", es lo primero que hago, sepan comprender.. la cosa es que funciona.
Datos archivados del Taringa! original
6puntos
1,239visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
3visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

n
ngrmrtn🇦🇷
Usuario
Puntos0
Posts1
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.