GNU/Linux >> Tutoriales Linux >  >> Linux

Bash script:mal intérprete

¿Es posible que el script esté utilizando dos líneas nuevas?

Intente ejecutar dos2unix en él.


La primera línea, #!/bin/bash , le dice a Linux dónde encontrar el intérprete. El script también debe ser ejecutable con chmod +x script.sh , lo que parece que hiciste.

Es muy probable que haya creado este archivo con un editor de Windows, que colocará un <cr><lf> al final de cada línea. Este es el estándar bajo dos / windows. OS X colocará un <cr> al final de cada línea. Sin embargo, bajo Unix/Linux, el estándar es simplemente poner un <lf> al final de la línea.

Linux ahora está buscando un archivo llamado /bin/bash<cr> para interpretar el archivo, donde <cr> es un carácter de retorno de carro, que es un carácter de archivo válido en Linux. Tal archivo no existe. De ahí el error.

Solución: Edite el archivo con un editor en Linux y elimine el <cr> extra . Una herramienta que suele funcionar cuando se edita el archivo en Windows es dos2unix .


Linux
  1. Uso del comando Linux Basename en Bash Scripts

  2. /usr/bin/perl:mal intérprete:archivo de texto ocupado

  3. ejecutar script php (función php) en linux bash

  4. ¿Cómo verificar syslog en Bash en Linux?

  5. Cómo incluir un archivo en un script de shell bash

10 prácticos alias de Bash para Linux

Comando de suspensión de Linux (Pausar un script Bash)

Cómo usar operadores de prueba de archivos Bash en Linux

35 ejemplos de secuencias de comandos Bash

Bash:¿No existe tal archivo o directorio?

Cómo hacer grep para Unicode en un script bash