Beheben Sie den Fehler $' ': Befehl nicht gefunden in Java

Sheeraz Gul 20 Juni 2023
  1. Ursache des Fehlers $'\r': Befehl nicht gefunden in Java
  2. Beheben Sie den Fehler $'\r': command not found in Java
Beheben Sie den Fehler $'
': Befehl nicht gefunden in Java

Dieses Tutorial demonstriert den Fehler $'\r': command not found in Java.

Ursache des Fehlers $'\r': Befehl nicht gefunden in Java

Unterschiedliche Betriebssysteme verwenden unterschiedliche Befehle für denselben Zweck. Der Fehler $'\r': Befehl nicht gefunden tritt auf, wenn wir versuchen, Befehle im Unix-Stil auf der Linux-Plattform von Plattformen wie Cygwin auszuführen.

Das \r wird für den Wagenrücklauf verwendet, was normalerweise bedeutet, dass der Cursor ganz nach links gehen soll. Hier ist ein Beispiel für diesen Fehler.

Lassen Sie uns versuchen, den Pfad JAVA_HOME mit Cygwin Bash unter Windows dauerhaft festzulegen. Verwenden Sie die folgenden Bash-Befehle und -Konfigurationen:

.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

Der obige Code besteht nun aus zwei Dateien in Bash, die versuchen, den Pfad JAVA_HOME dauerhaft festzulegen.

Wenn Sie diese beiden Dateien mit Cygwin ausführen, lautet die Ausgabe:

-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'

Jetzt zeigt der Fehler, dass der Befehl nicht funktioniert. Der Grund ist, dass Windows das Unix/OSX-Format der Befehle nicht unterstützt und Cygwin auch als Plattform gilt, um Linux-Unix-Anwendungen unter Windows auszuführen.

Beheben Sie den Fehler $'\r': command not found in Java

Schauen wir uns die Lösungen für diesen Fehler an.

Lösung 1

Wenn der Fehler $'\r': Befehl nicht gefunden unter Windows oder Cygwin auftritt, ist die beste Lösung die Verwendung des Befehls dos2unix.

  1. dos2unix ändert das Zeilenumbruch- oder \r-Zeichen, damit es mit Unix- oder Cygwin-Plattformen kompatibel ist.
  2. Bevor Sie den Befehl dos2unix verwenden, müssen Sie die Datei sichern, da dieser Befehl die Datei ändert. Wenn Sie es nicht gesichert haben, verwenden Sie den Befehl unix2dos, der die Änderung rückgängig macht.
  3. Der Befehl dos2unix wird auf macOS X nicht unterstützt.
  4. Bevor Sie diesen Befehl verwenden, müssen Sie dos2unix installieren.

Lösung 2

Wenn Sie dos2unix nicht installieren möchten, gibt es eine andere Lösung:

  1. Wir können das Zeichen \r entfernen, das diesen Fehler verursacht. Verwenden Sie den folgenden Befehl, um dieses nachgestellte Zeichen zu entfernen:

    sed -i 's/\r$//' filename
    
  2. Hier ist Dateiname die Datei, die den Fehler verursacht.

  3. Die Option -i wird für die direkte Bearbeitung verwendet.

  4. Der Befehl löscht das nachgestellte \r aus der Eingabedatei.

Lösung 3

Dieser ist einfacher. Wir können Software wie Notepad++ oder VScode verwenden, um das Befehlsformat zu ändern.

Zum Beispiel in Notepad++:

  • Öffnen Sie die Bash-Datei in Notepad++.
  • Gehen Sie zu Konvertierung Bearbeiten -> EOL.
  • Wählen Sie das Unix/OSX-Format.
  • Speichern Sie Ihre Datei und führen Sie sie aus.

Diese drei Lösungen lösen den oben beschriebenen Fehler.

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

Verwandter Artikel - Java Error