Solucione el $' ': Error de comando no encontrado en Java

Sheeraz Gul 20 junio 2023
  1. Causa del error $'\r': comando no encontrado en Java
  2. Solucione el error $'\r': comando no encontrado en Java
Solucione el $'
': Error de comando no encontrado en Java

Este tutorial demuestra el error $'\r': comando no encontrado en Java.

Causa del error $'\r': comando no encontrado en Java

Diferentes sistemas operativos usan diferentes comandos para el mismo propósito. El error $'\r': comando no encontrado ocurre cuando estamos intentando ejecutar comandos estilo Unix en la plataforma Linux de plataformas como Cygwin.

El \r se usa para el retorno de carro, lo que generalmente significa que el cursor debe moverse hacia la izquierda. Aquí hay un ejemplo de este error.

Intentemos configurar permanentemente la ruta JAVA_HOME usando Cygwin Bash en Windows. Use los siguientes comandos bash y configuración:

.bashrc:

export PATH="$JAVA_HOME/bin:$PATH"
export JAVA_HOME=$JAVA_HOME:"/cygdrive/C/Program Files/Java/jdk-17.0.2"

.bash_profile:

if [ -f ~/.bashrc ]; then
   source ~/.bashrc
fi

Ahora, el código anterior son dos archivos en Bash que intentan establecer permanentemente la ruta JAVA_HOME.

Al ejecutar estos dos archivos con Cygwin, el resultado es:

-bash: $'\377\376if': command not found
-bash: $'then\r': command not found
: No such file or directory
-bash: /cygdrive/c/Users/Sheeraz//.bash_profile: line 3: syntax error near unexpected token `fi'
-bash: /cygdrive/c/Users/Sheeraz//.bash_profile: line 3: `fi'

Ahora el error muestra que el comando no funciona. La razón es que Windows no admite el formato Unix/OSX de los comandos, y Cygwin también se considera una plataforma para ejecutar aplicaciones Linux Unix en Windows.

Solucione el error $'\r': comando no encontrado en Java

Veamos las soluciones para este error.

Solución 1

Cuando se produce el error $'\r': comando no encontrado en Windows o Cygwin, la mejor solución es usar el comando dos2unix.

  1. El dos2unix modificará el carácter de nueva línea o \r para que sea compatible en las plataformas Unix o Cygwin.
  2. Antes de usar el comando dos2unix, debe hacer una copia de seguridad del archivo porque este comando modificará el archivo. Si no ha hecho una copia de seguridad, use el comando unix2dos, que revertirá el cambio.
  3. El comando dos2unix no es compatible con macOS X.
  4. Antes de usar este comando, debe instalar dos2unix.

Solución 2

Si no desea instalar dos2unix, existe otra solución:

  1. Podemos eliminar el carácter \r que causa este error. Utilice el siguiente comando para eliminar este carácter final:

    sed -i 's/\r$//' filename
    
  2. Aquí el nombre de archivo será el archivo que está causando el error.

  3. La opción -i se utiliza para la edición in situ.

  4. El comando eliminará el final \r del archivo de entrada.

Solución 3

Este es más sencillo. Podemos usar software como Notepad++ o VScode para cambiar el formato del comando.

Por ejemplo, en el Bloc de notas++:

  • Abra el archivo Bash en Notepad++.
  • Vaya a la conversión Editar -> EOL.
  • Seleccione el formato Unix/OSX.
  • Guarde su archivo y ejecútelo.

Estas tres soluciones resolverán el error descrito anteriormente.

Sheeraz Gul avatar Sheeraz Gul avatar

Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.

LinkedIn Facebook

Artículo relacionado - Java Error