Shell no encuentra comandos después de cambiar mi archivo .bash_profile

Estaba siguiendo un tutorial tratando de instalar Laravel (5.0). El tutorial mostró para agregar export PATH="~/.composer/vendor/bin/laravel"al .bash_profiledocumento. Desde entonces, no puedo ejecutar ningún comando (nano, ssh, etc.).

No pasa nada cuando ejecuté esto en la terminal:

export PATH="~/.composer/vendor/bin/laravel"

Mi .bash_profileaspecto es este:

export PATH=/Applications/MAMP/bin/php/php5.5.10/bin:$PATH

Intenté cerrar sesión, reiniciar e ingresar los siguientes comandos:

source ~/.bash_profile
. .bash_profile

¿Alguien puede ayudar?

Respuestas (2)

cuando lo hiciste:

export PATH="~/.composer/vendor/bin/laravel"

Cambiaste el valor predeterminado del sistema PATHa algo casi inútil. Nunca debe reemplazar PATH , solo debe agregar a PATH.

Elimine las siguientes dos líneas de su ~/.bash_profile:

export PATH=/Applications/MAMP/bin/php/php5.5.10/bin:$PATH
export PATH="~/.composer/vendor/bin/laravel"

Y reemplázalos por los siguientes:

pathadd() {
    if [ -d "$1" ] && [[ ":$PATH:" != *":$1:"* ]]; then
        PATH="${PATH:+"$PATH:"}$1"
    fi
}
pathadd /Applications/MAMP/bin/php/php5.5.10/bin
pathadd ~/.composer/vendor/bin/laravel
export PATH

Esta es una forma segura de agregar a su PATHvariable de entorno. Solo agrega si la ruta aún no está en la lista.

Hice lo que sugirió, sin embargo, todavía no puedo usar los comandos nano o SSH.
Debe salir de las sesiones de shell existentes y comenzar otras nuevas. O ejecuta: source ~/.bash_profile.
¡Ajá! Tuve que salir de Terminal después de usar source ~/.bash_profile. Ahora todo funciona. ¡Gracias!
¿Por qué molestarse en tener pathadd? Solo haz lo que dijo Lukas Bestle.
La respuesta de Lukas es peligrosa si termina en una situación en la que tiene subcapas que vuelven a leer su .bash_profile- obtiene vars de entorno PATH demasiado largos y eso puede ser problemático tanto para ubicaciones ejecutables predecibles como para la velocidad de búsqueda de ruta.

Lo que hiciste fue sobrescribir la PATHvariable. Esto eliminó todos los demás caminos que había PATHantes de la variable.

Necesitas hacer lo siguiente:

export PATH="$HOME/.composer/vendor/bin:$PATH"

Esto agrega la ruta del contenedor de Composer a las rutas del sistema donde se encuentran SSH, etc.

~no se expandirá a la carpeta de inicio del usuario si está entre comillas (incluso entre comillas dobles). O usa export PATH=~/".composer/vendor/bin/laravel:$PATH", oexport PATH="$HOME/.composer/vendor/bin/laravel:$PATH"