# la misma instruccion con un alias responde diferente...

## papu

esto quizás tenga que ver con la sintaxis pero no veo lo que ocurre, reponde de forma direfente el resultado de la misma instruccion cuando es introducida de forma manual de cuando lo es usando un alias:

MANUAL:

```
xxxx@yyyy ~ $  sudo emerge -1 `equery l -F '$cp' '*9999'`

These are the packages that would be merged, in order:

Calculating dependencies  ... done!                                   

[ebuild   R    ] dev-libs/libclc-9999::x11  0 KiB

[ebuild   R   #] x11-drivers/xf86-video-ati-9999::x11  USE="glamor udev" 0 KiB

[ebuild   R   *] media-video/mpv-9999::gentoo  USE="X alsa bluray cdio cli drm dvb dvd dvdnav egl enca iconv jpeg lcms libass libguess libmpv lua luajit opengl pulseaudio vdpau vf-dlopen xinerama xscreensaver -bs2b -doc-pdf -encode -jack -ladspa -libav -libcaca -openal -oss -pvr -raspberry-pi -rubberband -samba -sdl (-selinux) -v4l -vaapi -wayland -xv" 0 KiB

[ebuild   R   *] media-video/handbrake-9999::gentoo  USE="fdk gstreamer gtk -libav -libav-aac" 0 KiB

Total: 4 packages (4 reinstalls), Size of downloads: 0 KiB

```

CON ALIAS:

```
alias 99="sudo emerge -1 `equery l -F '$cp' '*9999'`"
```

```

xxxx@yyyy ~ $ 99

These are the packages that would be merged, in order:

Calculating dependencies    ... done!                                 

[ebuild   R    ] dev-libs/libclc-9999::x11  0 KiB

Total: 1 package (1 reinstall), Size of downloads: 0 KiB

```

 :Razz: 

----------

## quilosaq

Si miras la salida del comando alias (sin mas) quizá te ayude a entender lo que pasa.

----------

## papu

si separa los paquetes por lineas y solo hay emerge en el primero, 

solo saca el contenido de lo que hay entre ""  ya que alias no es mas que una variable supongo, no sirve esto para concatenar comandos de este tipo 

entonces no se como poner un alias de esa instruccion tendré que mirarme como funciona   :Laughing: 

```
xxxx@yyyy ~ $ alias

alias 99='sudo emerge -1 dev-libs/libclc

media-video/handbrake

media-video/mpv

x11-drivers/xf86-video-ati'

```

----------

## Stolz

Puedes crearte una función bash que encapsule los comandos que querías tener en el alias. Guarda la función en el mismo sitio en el que tienes los alias y podrás invocarla como si de un alias se tratase. Lo único es que los nombres de funciones bash no pueden comenzar por números por lo que tendrías que elegir otro nombre.

```
f99()

{

    sudo emerge -1 `equery l -F '$cp' '*9999'`  "$@"

}

```

Más info:

http://es.tldp.org/COMO-INSFLUG/COMOs/Bash-Prog-Intro-COMO/Bash-Prog-Intro-COMO-8.html

----------

## papu

bien gracias luego lo miro con detenimiendo.

por cierto aprovecho para preguntar porque no se actualizan los paquetes 9999 junto con los demás cuando hago un emerge -uNDt world,  es por ello que lo hago a mano con esa instrucción

no se que información os serviría para pegarla  quizás un simple emerge --info o bien https://tinyurl.com/ayekds5

 :Smile: 

----------

## pelelademadera

 *papu wrote:*   

> bien gracias luego lo miro con detenimiendo.
> 
> por cierto aprovecho para preguntar porque no se actualizan los paquetes 9999 junto con los demás cuando hago un emerge -uNDt world,  es por ello que lo hago a mano con esa instrucción
> 
> no se que información os serviría para pegarla  quizás un simple emerge --info o bien https://tinyurl.com/ayekds5
> ...

 portage actualiza a nuevas versiones.

Para portage, los -9999 son siempre 9999, por eso no los actualiza

----------

## papu

 *pelelademadera wrote:*   

>  *papu wrote:*   bien gracias luego lo miro con detenimiendo.
> 
> por cierto aprovecho para preguntar porque no se actualizan los paquetes 9999 junto con los demás cuando hago un emerge -uNDt world,  es por ello que lo hago a mano con esa instrucción
> 
> no se que información os serviría para pegarla  quizás un simple emerge --info o bien https://tinyurl.com/ayekds5
> ...

 

pues yo estaba casi seguro de que había tenido 9999 y se me actualizaban aunque la verdad no me acuerdo bien la verdad, por ejemplo aquí un caso que acaba de ocurrirme

```
[ebuild   R   *] media-video/mpv-9999::gentoo  USE="X alsa bluray cdio cli drm dvb dvd egl enca iconv jpeg lcms libass libguess libmpv lua luajit opengl pulseaudio vdpau vf-dlopen xinerama xscreensaver -bs2b -doc-pdf -encode -jack -ladspa -libav -libcaca -openal -oss -pvr -raspberry-pi -rubberband -samba -sdl (-selinux) -v4l -vaapi -wayland -xv (-dvdnav%*)" 0 KiB
```

lo que indica que el portage actualiza la info del ebuild y en este caso ha habido un cambio de USE de ahi la  recompilación. 

quizás los ebuilds no esten preparados para gestionar actualizaciones 9999 ya que se necesita estar en tiempo de compilación para hacerlo: por ejemplo cuando actualizo a mano la suma de comprobación hash ( en este caso git) detecta si hay versión modificada o no.

----------

