start ss64 script create shell command-line executable

shell - ss64 - "No existe tal archivo o directorio" pero existe



ss64 command line (9)

Acabo de tener este problema en mingw32 bash . Había ejecutado node / npm desde Program Files (x86)/nodejs y luego los moví al directorio disabled (esencialmente eliminándolos de la ruta). También tenía Program Files/nodejs (es decir, la versión de 64 bits) en la ruta, pero solo después de la versión x86. Después de reiniciar el shell bash, se puede encontrar la versión de 64 bits de npm. node funcionó correctamente todo el tiempo (se verificó con el node -v que cambió cuando se movió la versión x86).

Creo que el hash -r habría funcionado en lugar de reiniciar bash: https://unix.stackexchange.com/a/5610

Simplemente quiero ejecutar un ejecutable desde la línea de comando, ./arm-mingw32ce-g++ , pero luego ./arm-mingw32ce-g++ el mensaje de error,

bash: ./arm-mingw32ce-g++: No such file or directory

Estoy ejecutando Ubuntu Linux 10.10. ls -l listas

-rwxr-xr-x 1 root root 433308 2010-10-16 21:32 arm-mingw32ce-g++

Usando sudo ( sudo ./arm-mingw32ce-g++ ) da

sudo: unable to execute ./arm-mingw32ce-g++: No such file or directory

No tengo idea de por qué el sistema operativo ni siquiera puede ver el archivo cuando está allí. ¿Alguna idea?


Debajo del comando funcionó en 16.4 Ubuntu

Este problema se produce cuando el archivo .sh está dañado o no formateado según los protocolos de Unix.

dos2unix convierte el archivo .sh a formato Unix

sudo apt-get install dos2unix -y dos2unix test.sh sudo chmod u+x test.sh sudo ./test.sh


Este error puede significar que ./arm-mingw32ce-g++ no existe (pero lo hace), o que existe y es un ejecutable enlazado dinámicamente reconocido por el núcleo pero cuyo cargador dinámico no está disponible. Puede ver qué cargador dinámico se requiere ejecutando ldd /arm-mingw32ce-g++ ; cualquier cosa marcada not found es el cargador dinámico o una biblioteca que necesita instalar.

Si está intentando ejecutar un binario de 32 bits en una instalación amd64:

  • Hasta Ubuntu 11.04, instale el paquete ia32-libs .
  • En Ubuntu 11.10, instale ia32-libs-multiarch .
  • Comenzando con 12.04, instale ia32-libs-multiarch , o seleccione un conjunto razonable de :i386 paquetes :i386 además de los paquetes :amd64 .

Este error también puede ocurrir si intenta ejecutar un script y el shebang está mal escrito. Asegúrese de que muestre #!/bin/sh , #!/bin/bash , o el intérprete que esté utilizando.


Me enfrenté a este error cuando estaba tratando de construir fuente de Selenium en Ubuntu. El script de shell simple con shebang correcto no se pudo ejecutar incluso después de que cubrí todos los requisitos previos.

file file-name # helped me in understanding that CRLF ending were present in the file.

Abrí el archivo en Vim y pude ver que solo porque una vez edité este archivo en una máquina con Windows, estaba en formato DOS. Convertí el archivo al formato Unix con el siguiente comando:

dos2unix filename # actually helped me and things were fine.

Espero que tengamos cuidado siempre que editemos archivos en plataformas, también debemos cuidar los formatos de archivo.


Obtuve el mismo error para un script bash simple que no tendría problemas de 32/64 bits. Esto posiblemente se debe a que el script que está intentando ejecutar tiene un error. Esta publicación en el foro de ubuntu indica que con los archivos de script normales puede agregar ''sh'' al frente y es posible que obtenga algún resultado de depuración. p.ej

$ sudo sh arm-mingw32ce-g++

y mira si obtienes algún resultado.

En mi caso, el problema real era que el archivo que estaba tratando de ejecutar estaba en formato Windows en lugar de Linux.


Recibí este error “No such file or directory” existe “No such file or directory” pero existe porque mi archivo se creó en Windows y traté de ejecutarlo en Ubuntu y el archivo contenía 15 / r / ndifuestos donde alguna vez había una nueva línea. Acabo de crear un nuevo archivo truncando cosas no deseadas

sleep: invalid time interval ‘15/r’ Try ''sleep --help'' for more information. script.sh: 5: script.sh: /opt/ag/cont: not found script.sh: 6: script.sh: /opt/ag/cont: not found root@Ubuntu14:/home/abc12/Desktop# vi script.sh root@Ubuntu14:/home/abc12/Desktop# od -c script.sh 0000000 # ! / u s r / b i n / e n v b 0000020 a s h /r /n w g e t h t t p : / 0000400 : 4 1 2 0 / /r /n 0000410 root@Ubuntu14:/home/abc12/Desktop# tr -d //015 < script.sh > script.sh.fixed root@Ubuntu14:/home/abc12/Desktop# od -c script.sh.fixed 0000000 # ! / u s r / b i n / e n v b 0000020 a s h /n w g e t h t t p : / / 0000400 / /n 0000402 root@Ubuntu14:/home/abc12/Desktop# sh -x script.sh.fixed


Tuve el mismo mensaje de error cuando traté de ejecutar un script de Python: este no era el caso de uso previsto de @Wespspace (ver otros comentarios), pero este fue uno de los principales resultados de mi búsqueda, por lo que tal vez alguien lo encuentre útil.

En mi caso, fueron las terminaciones de línea de DOS ( /r/n lugar de /n ) que la línea de shebang ( #!/usr/bin/env python ) tropezaría. Un simple dos2unix myfile.py arregló.


Tuve el mismo problema con un archivo que he creado en mi mac. Si trato de ejecutarlo en un shell con ./filename, recibí el mensaje de error "archivo no encontrado". Creo que algo estaba mal con el archivo.

qué he hecho:

abrir una sesión ssh al servidor
cat nombre de archivo
copiar la salida al portapapeles
nombre de archivo rm
tocar nombre de archivo
vi nombre de archivo
i para el modo de inserción
pegar el contenido del portapapeles
ESC para finalizar el modo insertar
: wq!

Esto funcionó para mí.