No se puede eliminar parte de $ PATH

1

Estoy tratando de solucionar cualquier problema que tenga en brew doctor , así que veo:

Warning: Some directories in your path end in a slash.
Directories in your path should not end in a slash. This can break other
doctor checks. The following directories should be edited:
    /usr/local/Cellar/node/5.0.0/bin/

Busco ~/.profile , ~/.bash_profile , /etc/paths - y no veo esta ruta.

No hay archivos en la carpeta /etc/paths.d/ que contengan esta cadena.

Entonces, ¿de dónde proviene esta parte $PATH ?

    
pregunta Даниил Пронин 18.08.2016 - 04:43

1 respuesta

1

Por su pregunta, parece que el problema es un directorio que termina en / . Y parece que Homebrew te está diciendo que el directorio que causa el error es /usr/local/Cellar/node/5.0.0/bin/ . Si este es el caso, simplemente necesita eliminar el / final de este directorio.

Pero también parece que está diciendo que no ve este directorio de problemas en su $PATH . La ejecución de echo $PATH le mostrará qué directorios están en su RUTA. Si su RUTA contiene muchos directorios como el mío, esto puede ser un poco difícil de leer. ¿Entonces tal vez simplemente lo estás pasando por alto?

En cualquier caso, aquí hay un script simple para mostrarle todos los directorios en su RUTA; 1 por línea.

#!/bin/bash

# save IFS to a variable    
old_IFS=${IFS$' \t\n'}

#set IFS to a colon
IFS=':'

for item in ${PATH[@]}
do 
    echo $item
done

# set IFS back to the default setting
IFS=$old_IFS

O si prefiere copiar y pegar directamente en su terminal:

old_IFS=${IFS-$' \t\n'}; IFS=':'; for item in ${PATH[@]}; do echo $item; done; IFS=$old_IFS

O de una manera aún más simple como lo señala fd0 en los comentarios:

tr -s ':' '\n' <<<"$PATH"

Esto también tiene la ventaja adicional de no tener que perder el tiempo con IFS .

Usando cualquiera de los scripts anteriores, si encuentra una línea que termina en / entonces ha encontrado al culpable.

    
respondido por el I0_ol 27.09.2016 - 10:33

Lea otras preguntas en las etiquetas