Solucione el $' ': Error de comando no encontrado en Java
-
Causa del error
$'\r': comando no encontrado
en Java -
Solucione el error
$'\r': 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
.
- El
dos2unix
modificará el carácter de nueva línea o\r
para que sea compatible en las plataformas Unix o Cygwin. - 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 comandounix2dos
, que revertirá el cambio. - El comando
dos2unix
no es compatible con macOS X. - Antes de usar este comando, debe instalar
dos2unix
.
Solución 2
Si no desea instalar dos2unix
, existe otra solución:
-
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
-
Aquí el nombre de archivo será el archivo que está causando el error.
-
La opción
-i
se utiliza para la edición in situ. -
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 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 FacebookArtículo relacionado - Java Error
- Arreglar Java fue iniciado por el código de salida devuelto = 1
- Arreglar JAVA_HOME no se puede determinar a partir del error de registro en R
- Arreglar java.io.IOException: No queda espacio en el dispositivo en Java
- Arreglar Java.IO.NotSerializableException en Java
- Arreglar Java.Lang.IllegalStateException de Android: no se pudo ejecutar el método de la actividad
- Arreglar Java.Lang.NoClassDefFoundError: No se pudo inicializar el error de clase