7 votos

Cómo listar las versiones instaladas de un mismo programa

Tengo un programa llamado PyMOL instalado varias veces en mi máquina. Una fue instalada por MacPorts, otra fue instalada a través del canal de distribución de los desarrolladores y así sucesivamente. Uno está en /opt/local/bin, el otro está en /i/have/no/clue.

Sé que puedo utilizar "qué pymol" para ver, donde se encuentra el que se ejecuta, pero ¿cómo puedo obtener la ubicación de los otros con el mismo nombre?

3voto

Goje87 Puntos 116

Usted tiene el comando correcto y sólo tiene que establecer la opción adecuada:

which -a pymol mostrará todas las instancias del ejecutable pymol situado dentro de su PATH .

Por ejemplo, en mi portátil tengo git instalado en dos lugares:

$ which git
/usr/local/bin/git

proporciona lo que se ejecutará cuando utilice el comando git .

$ which -a git
/usr/local/bin/git
/usr/bin/git

proporciona cada instancia del ejecutable en mi PATH .

2voto

Kent Puntos 3462

whereis pymol debería mostrarte todas las coincidencias que hay en la ruta de tu ejecutable.

1voto

Kaydell Puntos 229

Puedes usar "find" o "locate" y luego pasar los resultados por "grep".

Esto le dará más que los resultados de "which" o "whereis" que sólo mostrarán cosas en $PATH.

"localizar" es más rápido, pero utiliza un índice que no siempre está actualizado.

"find" es más lento, ya que hace una búsqueda recursiva de todo, pero produce todos los resultados, no sólo los que han sido indexados como hace "locate".

0voto

Al menos según su página man, whereis no busca en $PATH pero en el resultado de sysctl user.cs_path (que no contiene ningún directorio adicional añadido por el perfil del usuario). Para buscar el comando basado en el $PATH puedes utilizar una función del shell como

function whereis() {
    for p in ${PATH//:/ }; do
        [[ -x "$p/$1" ]] && echo "$p"
    done
}

o (para su caso específico) ejecute

for p in ${PATH//:/ }; do [[ -x "$p"/pymol ]] && echo "$p" ; done

P.D.: El carácter de espacio al final de ${PATH...} es esencial para que esto funcione.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X