Estaba actualizando mi .bash_profile, y desafortunadamente hice algunas actualizaciones y ahora obtengo:
env: bash: No such file or directory
env: bash: No such file or directory
env: bash: No such file or directory
env: bash: No such file or directory
env: bash: No such file or directory
-bash: tar: command not found
-bash: grep: command not found
-bash: cat: command not found
-bash: find: command not found
-bash: dirname: command not found
-bash: /preexec.sh.lib: No such file or directory
-bash: preexec_install: command not found
-bash: sed: command not found
-bash: git: command not found
Mi bash_profile en realidad extrae otros archivos .sh (los obtiene), por lo que no estoy exactamente seguro de qué modificación puede haber causado esto.
Ahora, si incluso intento una lista de archivos, obtengo:
>ls
-bash: ls: command not found
-bash: sed: command not found
-bash: git: command not found
¿Algún consejo sobre cómo rastrear la fuente del error y cómo usar el terminal para cosas básicas como listar archivos, etc.?
command-line
bash
Blankman
fuente
fuente
-bash: sed: command not found -bash: git: command not found
/etc/environment
, use el siguiente comando (en centos 6):ssh -t root@<server-ip> "/bin/bash -c '/bin/mv /etc/environment /tmp/'"
Respuestas:
Me parece que en un momento u otro está sobrescribiendo la
PATH
variable de entorno predeterminada . El tipo de errores que tiene indica quePATH
no contiene/bin
dóndebash
residen los comandos anteriores (incluidos ).Por ejemplo, si lo haces
en lugar de
fuente
export PATH=PATH:EC2_HOME/bin
export PATH=$PATH:EC2_HOME/bin
$
manera:export PATH=$PATH:$EC2_HOME/bin
Una forma de comenzar a depurar su script bash sería iniciar una subshell con la opción -x:
Esto le mostrará todos los comandos y sus argumentos, que se ejecutan al iniciar ese shell.
La opción --login se especifica porque .bash_profile se lee mediante shells de inicio de sesión. Puede encontrar más información sobre la depuración de scripts de bash aquí: http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_02_03.html .
En última instancia, creo que la sugerencia de enero funcionará para usted, pero vale la pena leer ese enlace para futuros problemas.
fuente
Puede que haya encontrado el problema. Funcionó para mí, y podría funcionar para usted ...
Estaba predeterminado con mi editor para guardar Windows (LF / CR). Como uso ambos sistemas, me pareció lógico. Cuando tuve que meterme con mi
.bash_profile
, me di cuenta después de comentar y probar cosas que nada funcionaba. Cambié mis archivos guardados a formato OS X (solo CR) y ¡voilà! ¡No más "comando no encontrado" en la terminal!¡Puede ser así de fácil!
fuente
$ dos2unix .bash_profile
Después no pude volver a correr. ~ / .bash_profile o cualquier comando habitual como whoami, grep, etc. Pensé en una forma de volver a exportar las rutas requeridas:
Esto debería funcionar en la mayoría de los sistemas, aunque algunas de estas rutas no están presentes en todos los paquetes de Linux. Funcionó para mi.
fuente
Creo que podría haber encontrado la respuesta al problema si no fuera por ti y por otros que tienen un problema similar. Mi respuesta a esto es que no tengo un
.bash_profile
.Así que estaba buscando en toda la web y encontré la solución. Que es básicamente abrir la terminal, escribir
touch ~/.bash_profile
y presionar Enter. Eso solucionó mis problemas. Espero que haga lo mismo por tifuente
Tengo el mismo problema que tú. No puedo utilizar muchos comandos populares (
ls
,vi/vim
..) y no puede editar/root/.bashrc
cuando inicie sesión consu
en la raíz.Finalmente. Encontré la solución para este problema. Simplemente inicie sesión root con el comando:
Después de eso, puedes usar
para editar RUTA.
¡Buena suerte!
fuente
Yo tuve el mismo problema. Es posible que haya perdido un $ al exportar PATH. Debe abrir el .bash_profile en TextEdit. Si no puede encontrar el archivo en el directorio, presione Comando + Mayús +> para mostrar los archivos ocultos.
Luego, corrija la RUTA y luego guarde.
En el directorio de la Terminal, escriba: source .bash_profile.
Esto debería resolver el problema.
fuente
Tuve exactamente el mismo problema:
Si pongo en lxterminal:
si ingresé exactamente el mismo comando en tty2 obtuve:
\ r significa fin de línea de DOS, así que abrí el archivo
~/.bashrc
y cambié los extremos de las líneas en Krusader a estilo unix. ¡Y ya está funcionando! :-)Los EOL de DOS crean problemas desagradables también en los scripts de bash.
fuente
Tengo el mismo problema justo ahora después de cambiar el
.bash_profile
. Y quiero volver a cambiarlo, pero ahora no puedo, porque perdí todos los comandos, especialmente el comando nano y el comando vim, por lo que no puedo abrir el .bash_profile con el comando. Y.bash_profile
es un archivo oculto que no puedo abrir con el Finder.Entonces necesito encontrar una manera de abrir el archivo .bash_profile. Después de probar muchas formas, descubrí que puedo usar Atom , porque Atom puede leer todos los archivos en una carpeta de proyecto, incluidos los archivos ocultos. Entonces, solo abra Atom y seleccione la carpeta
File -> Open
, elija<yourusername>
, y luego, todos los archivos ocultos se muestran en la vista de árbol de Atom, ¡incluya el.bash_profile
!! Después de eliminar la última modificación y volver a abrir la Terminal, ¡volvieron todos los comandos! :)fuente