[eside-ghost] Resumen de eside-ghost, Vol 1056, Envío 1

Álvaro Morán nirvana644 en gmail.com
Sab Feb 23 13:48:31 CET 2013


Muchas gracias a todos por ayudarme con lo de completado de comandos. Y
perdonad el retraso en mi respuesta. Al final pude crear el fichero a mi
medida con la info que me dísteis XD

#
# Completado para scriptredxen:
#
# scriptredxen inicio
# scriptredxen script [nombre del script]
# scriptredxen salir
# NOTA: por defecto los scripts que dependen del principal están "./scripts"
# Si por ejemplo se quiere ejecutar "./scripts/holamundo.sh" hay que
introducir el comando  "./scriptredxen.sh script ./scripts/holamundo.sh" o
bien "./scriptredxen.sh script "scripts/holamundo.sh"
_completador()
{
    local cur prev opts
    COMPREPLY=()
    cur="${COMP_WORDS[COMP_CWORD]}"
    prev="${COMP_WORDS[COMP_CWORD-1]}"
    opts="inicio script salir"

    case "${prev}" in
        script)
            COMPREPLY=( $(compgen -W "$(ls -d -1 scripts/*.sh)" -- $cur) )
            return 0
            ;;
        *)
        ;;
    esac

    COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
}
complete -F _completador scriptredxen.sh


Saludos,
Álvaro

El 18 de febrero de 2013 10:36, <eside-ghost-request en listas.deusto.es>escribió:

> Envíe los mensajes para la lista eside-ghost a
>         eside-ghost en listas.deusto.es
>
> Para subscribirse o anular su subscripción a través de la WEB
>         https://listas.deusto.es/mailman/listinfo/eside-ghost
>
> O por correo electrónico, enviando un mensaje con el texto "help" en
> el asunto (subject) o en el cuerpo a:
>         eside-ghost-request en listas.deusto.es
>
> Puede contactar con el responsable de la lista escribiendo a:
>         eside-ghost-owner en listas.deusto.es
>
> Si responde a algún contenido de este mensaje, por favor, edite la
> linea del asunto (subject) para que el texto sea mas especifico que:
> "Re: Contents of eside-ghost digest...". Además, por favor, incluya en
> la respuesta sólo aquellas partes del mensaje a las que está
> respondiendo.
>
>
> Asuntos del día:
>
>    1. Re: Completar comandos en programa Bash (Jon Ander Hernandez)
>    2. Re: Completar comandos en programa Bash (Jorge García - Bardok)
>    3. Ya es oficial: el encuentro mundial de contribuidores a Qt
>       también se celebrará en Bilbao (Dani Gutiérrez Porset)
>    4. Re: Fwd: Identificar usuarios sin grupo
>       (Javier Allende Astigarraga)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Sun, 17 Feb 2013 19:29:40 +0100
> From: Jon Ander Hernandez <jonan.h en gmail.com>
> To: Lista de eside-ghost <eside-ghost en listas.deusto.es>
> Subject: Re: [eside-ghost] Completar comandos en programa Bash
> Message-ID:
>         <
> CAGEveXo68W+bQOYSv4Bt7Qd9-bKr1nJ1E67Uc4xpxY0o_qDUOw en mail.gmail.com>
> Content-Type: text/plain; charset=ISO-8859-1
>
> El día 17 de febrero de 2013 00:36, Jorge García - Bardok
> <bardok en gmail.com> escribió:
> > He estado investigando un poquillo (en Ubuntu) (info sacada de
> > http://tldp.org/LDP/abs/html/tabexpansion.html):
>
> La verdad es que casi todos los artículos sobre el autocompletado
> están obsoletos :-S, como este que está bastante bien para ver un poco
> la idea
> http://www.debian-administration.org/article/An_introduction_to_bash_completion_part_2
>
>
> Para obtener las variables cur y pre que apuntan a la palabra actual y
> a la previa se recomienda usar la función _get_comp_words_by_ref
> porque gestiona cuando el autocompletado se realiza por ejemplo en
> medio de una palabra (además creo recordar que también resolvía algún
> problema de compatibilidad entre versiones de Bash). Aunque acabo de
> descubrir que ahora se usa _init_completion, pero igual no está en
> squeeze porque hace 8 meses no la conocía.
>
> _animal()
> {
>   local cur prev
>   COMPREPLY=()
>   _get_comp_words_by_ref cur prev
>
>   COMPREPLY=( $( compgen -W '--gatito --perrito' -- $cur ) );
> } &&
> complete -F _animal animal.sh
>
>
> Te faltaba la llamada complete Bardok ;-)
>
>
> Un buena forma de mirar como implementar uno es mirando el git de debian:
>
>
> http://anonscm.debian.org/gitweb/?p=bash-completion/bash-completion.git;a=blob;f=completions/xsltproc
>
>
> Hay un montón de funciones interesantes y bien documentadas en el
> fichero bash_completion:
>
>
> http://anonscm.debian.org/gitweb/?p=bash-completion/bash-completion.git;a=blob_plain;f=bash_completion;hb=HEAD
>
>
> Pero para cosas sencillas la mejor manera y más simple es añadir un
> parametro --help y hacer que use la función _longopt (que parsea la
> salida de --help para las flags y autocompleta ficheros y directorios)
> y listo.
>
> complete -F _longopt animal.sh
>
>
> Un saludete! ;-)
>
> JonAn.
>
>
> ------------------------------
>
> Message: 2
> Date: Sun, 17 Feb 2013 20:05:02 +0100
> From: Jorge García - Bardok <bardok en gmail.com>
> To: Lista de eside-ghost <eside-ghost en listas.deusto.es>
> Subject: Re: [eside-ghost] Completar comandos en programa Bash
> Message-ID:
>         <
> CA+T0EyjpSRX2p8_3M0KO8tX-uhCrTTN4txmiF3iumCDUmomLbw en mail.gmail.com>
> Content-Type: text/plain; charset="iso-8859-1"
>
> Buenas!
>
> Jajaja, claro, al meter ahí el script hace un source, pero no llama al
> complete... pero si lo metes en el propio fichero, al hacer el source, se
> llama al complete... venía en el primer ejemplo que miré, pero como no
> hablaba de meterlo en el directorio de inicialización, yo lo ejecutaba a
> mano... en fin, que me he hecho yo solito la picha un lío  ;)
>
> P.D.: no tiene nada que ver y lo he puesto en el café, pero por si alguien
> de aquí que no está en el café lo lee, si alguien quiere una paloma
> domesticada y criada a mano desde que era un pichón, que me diga, que le
> estoy buscando hogar (por privado, que nadie estropee este hilo más de lo
> que lo estoy haciendo yo con esto). Está limpita y sin enfermedades y te la
> puedes poner en el hombro en plan pirata  :D
>
>
> --
> Jorge García (aka Bardok)
> ---
> Sending A Message To All
> Sending A Message To God
> We Must Bring Light To The Darkness
> In Time We Will Rise Above
>   "Ark - Heal The Waters"
>
>
> 2013/2/17 Jon Ander Hernandez <jonan.h en gmail.com>
>
> > El día 17 de febrero de 2013 00:36, Jorge García - Bardok
> > <bardok en gmail.com> escribió:
> > > He estado investigando un poquillo (en Ubuntu) (info sacada de
> > > http://tldp.org/LDP/abs/html/tabexpansion.html):
> >
> > La verdad es que casi todos los artículos sobre el autocompletado
> > están obsoletos :-S, como este que está bastante bien para ver un poco
> > la idea
> >
> http://www.debian-administration.org/article/An_introduction_to_bash_completion_part_2
> >
> >
> > Para obtener las variables cur y pre que apuntan a la palabra actual y
> > a la previa se recomienda usar la función _get_comp_words_by_ref
> > porque gestiona cuando el autocompletado se realiza por ejemplo en
> > medio de una palabra (además creo recordar que también resolvía algún
> > problema de compatibilidad entre versiones de Bash). Aunque acabo de
> > descubrir que ahora se usa _init_completion, pero igual no está en
> > squeeze porque hace 8 meses no la conocía.
> >
> > _animal()
> > {
> >   local cur prev
> >   COMPREPLY=()
> >   _get_comp_words_by_ref cur prev
> >
> >   COMPREPLY=( $( compgen -W '--gatito --perrito' -- $cur ) );
> > } &&
> > complete -F _animal animal.sh
> >
> >
> > Te faltaba la llamada complete Bardok ;-)
> >
> >
> > Un buena forma de mirar como implementar uno es mirando el git de debian:
> >
> >
> >
> http://anonscm.debian.org/gitweb/?p=bash-completion/bash-completion.git;a=blob;f=completions/xsltproc
> >
> >
> > Hay un montón de funciones interesantes y bien documentadas en el
> > fichero bash_completion:
> >
> >
> >
> http://anonscm.debian.org/gitweb/?p=bash-completion/bash-completion.git;a=blob_plain;f=bash_completion;hb=HEAD
> >
> >
> > Pero para cosas sencillas la mejor manera y más simple es añadir un
> > parametro --help y hacer que use la función _longopt (que parsea la
> > salida de --help para las flags y autocompleta ficheros y directorios)
> > y listo.
> >
> > complete -F _longopt animal.sh
> >
> >
> > Un saludete! ;-)
> >
> > JonAn.
> > _______________________________________________
> > eside-ghost mailing list
> > eside-ghost en listas.deusto.es
> > https://listas.deusto.es/mailman/listinfo/eside-ghost
> >
> ------------ próxima parte ------------
> Se ha borrado un adjunto en formato HTML...
> URL: <
> https://listas.deusto.es/mailman/private/eside-ghost/attachments/20130217/903a6548/attachment-0001.html
> >
>
> ------------------------------
>
> Message: 3
> Date: Mon, 18 Feb 2013 01:20:00 +0100
> From: Dani Gutiérrez Porset <jdanitxu en gmail.com>
> To: "Grupo Itsas para la promocion del software libre en la UPV/EHU"
>         <itsas en list.ehu.es>, Lista eghost <eside-ghost en listas.deusto.es>
> Subject: [eside-ghost] Ya es oficial: el encuentro mundial de
>         contribuidores a Qt también se celebrará en Bilbao
> Message-ID:
>         <
> CAB0+vYBraemRpu8SrxKNY_-MisdaWeQHF+cEF5MioWJXxNkn1Q en mail.gmail.com>
> Content-Type: text/plain; charset="iso-8859-1"
>
> Oraindik ez badakizue... http://bit.ly/WQOab7
>
> Pues eso, para quienes aún no lo supierais... http://bit.ly/WQOab7
>
>
> --
> ............................................
> http://danitxu.com
> ------------ próxima parte ------------
> Se ha borrado un adjunto en formato HTML...
> URL: <
> https://listas.deusto.es/mailman/private/eside-ghost/attachments/20130218/d2cf546d/attachment-0001.html
> >
>
> ------------------------------
>
> Message: 4
> Date: Mon, 18 Feb 2013 10:36:03 +0100
> From: Javier Allende Astigarraga <legolas.klaitxu en gmail.com>
> To: Lista de eside-ghost <eside-ghost en listas.deusto.es>
> Subject: Re: [eside-ghost] Fwd: Identificar usuarios sin grupo
> Message-ID:
>         <CANHtkmbUmWzB0vU9skNT=
> Np+44+4QaVqVoamkqBTDCX5Sd9CrA en mail.gmail.com>
> Content-Type: text/plain; charset="iso-8859-1"
>
> Perfecto.
>
> Gracias
> El 16/02/2013 13:05, "Jorge García - Bardok" <bardok en gmail.com> escribió:
>
> > Kaixo!
> >
> > Se me ocurren dos cosas:
> >
> > - ¿Un espacio entre -F y :? En mi bash si no lo pongo casca.
> > - Este script:
> >
> > #! /bin/bash
> >
> > for user in `cat /etc/passwd | awk -F : '{ print $1 }'`; do
> >   for num in `grep -c $user /etc/group`; do
> >     if [ $num -eq 0 ] ; then
> >       echo "El usuario $user no aparece en el fichero de grupos";
> >     fi
> >   done
> > done
> >
> >
> > Un abrazo!
> >
> >
> > --
> > Jorge García (aka Bardok)
> > ---
> > Sending A Message To All
> > Sending A Message To God
> > We Must Bring Light To The Darkness
> > In Time We Will Rise Above
> >   "Ark - Heal The Waters"
> >
> >
> > 2013/2/16 Javier Allende Astigarraga <legolas.klaitxu en gmail.com>
> >
> >> Buenos dias,
> >>
> >> Tengo que preparar un script que identifique si existen usuarios sin
> >> grupo asociado en unix.
> >>
> >> Obtengo los grupos de los usuarios de la siguiente manera pero el
> >> siguiente paso no termino de hacerlo bien ¿alguna ayuda?
> >>
> >> awk -F: '{ print $3}' | sort | uniq -d
> >>
> >>
> >> _______________________________________________
> >> eside-ghost mailing list
> >> eside-ghost en listas.deusto.es
> >> https://listas.deusto.es/mailman/listinfo/eside-ghost
> >>
> >
> >
> > _______________________________________________
> > eside-ghost mailing list
> > eside-ghost en listas.deusto.es
> > https://listas.deusto.es/mailman/listinfo/eside-ghost
> >
> ------------ próxima parte ------------
> Se ha borrado un adjunto en formato HTML...
> URL: <
> https://listas.deusto.es/mailman/private/eside-ghost/attachments/20130218/93a3431c/attachment.html
> >
>
> ------------------------------
>
> _______________________________________________
> eside-ghost mailing list
> eside-ghost en listas.deusto.es
> https://listas.deusto.es/mailman/listinfo/eside-ghost
>
> Fin de Resumen de eside-ghost, Vol 1056, Envío 1
> ************************************************
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <https://listas.deusto.es/mailman/private/eside-ghost/attachments/20130223/8a5164c1/attachment-0001.html>


Más información sobre la lista de distribución eside-ghost