El tilde en PATH no apunta a la carpeta de inicio

Fuentes: The tilde in your PATH may not be your HOME

El uso incorrecto del tilde (~) en la variable PATH de los sistemas operativos Linux puede generar errores silenciosos y peligrosos, ya que no se expande automáticamente a la ruta de la carpeta de inicio. Este problema surge cuando se añaden entradas a PATH mediante exportaciones en archivos de configuración como .bashrc o .zshrc. Según la documentación de Bash, la expansión del tilde solo ocurre en entradas no citadas, lo que significa que una ruta como ~/.local/bin/ se interpreta literalmente como un directorio relativo al punto actual, no a la carpeta de usuario.

El autor del artículo, mientras probaba la herramienta de sandboxing nono, detectó una advertencia que reveló que la ruta añadida a PATH era ./~/.local/bin/, en lugar de /home//.local/bin/. Esto impide que el sistema acceda a los binarios esperados en la carpeta de inicio. Para corregir esto, es necesario usar explícitamente la variable $HOME, como en export PATH="$PATH:$HOME/.local/bin/". Aunque Bash y Zsh realizan la expansión del tilde en asignaciones de variables, depender de este comportamiento es frágil, ya que espacios en blanco pueden romper la asignación.

Para diagnosticar la presencia de este error, los usuarios pueden ejecutar comandos como echo "$PATH" | grep '~' o tr ':' '\n' | grep '~' para verificar si existen entradas con tilde en PATH. Si se detectan, se recomienda editar los archivos de configuración para reemplazar el tilde por $HOME, asegurando así la correcta localización de los binarios y la seguridad del sistema.