$' ' 수정: Java에서 명령을 찾을 수 없음 오류

Sheeraz Gul 2023년6월20일
  1. Java에서 $'\r': command not found 오류의 원인
  2. Java에서 $'\r': command not found 오류 수정
$'
' 수정: Java에서 명령을 찾을 수 없음 오류

이 튜토리얼은 Java에서 $'\r': command not found 오류를 보여줍니다.

Java에서 $'\r': command not found 오류의 원인

서로 다른 운영 체제는 동일한 목적을 위해 서로 다른 명령을 사용합니다. $'\r': command not found 오류는 Cygwin과 같은 플랫폼의 Linux 플랫폼에서 Unix 스타일 명령을 실행하려고 할 때 발생합니다.

\r은 캐리지 리턴에 사용되며 일반적으로 커서가 맨 왼쪽으로 이동해야 함을 의미합니다. 다음은 이 오류의 예입니다.

Windows에서 Cygwin Bash를 사용하여 JAVA_HOME 경로를 영구적으로 설정해 보겠습니다. 다음 bash 명령 및 구성을 사용합니다.

.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

이제 위의 코드는 JAVA_HOME 경로를 영구적으로 설정하려는 Bash의 두 파일입니다.

Cygwin을 사용하여 이 두 파일을 실행할 때 출력은 다음과 같습니다.

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

이제 오류는 명령이 작동하지 않는다는 것을 보여줍니다. 그 이유는 Windows가 명령의 Unix/OSX 형식을 지원하지 않으며 Cygwin도 Windows에서 Linux Unix 응용 프로그램을 실행하는 플랫폼으로 간주되기 때문입니다.

Java에서 $'\r': command not found 오류 수정

이 오류에 대한 해결 방법을 살펴보겠습니다.

솔루션 1

Windows 또는 Cygwin에서 $'\r': 명령을 찾을 수 없음 오류가 발생하는 경우 최상의 솔루션은 dos2unix 명령을 사용하는 것입니다.

  1. dos2unix는 줄 바꿈 또는 \r 문자를 Unix 또는 Cygwin 플랫폼에서 호환되도록 수정합니다.
  2. dos2unix 명령을 사용하기 전에 파일을 수정해야 하므로 파일을 백업해야 합니다. 백업하지 않은 경우 unix2dos 명령을 사용하여 변경 사항을 되돌립니다.
  3. dos2unix 명령은 macOS X에서 지원되지 않습니다.
  4. 이 명령을 사용하기 전에 dos2unix를 설치해야 합니다.

해결책 2

dos2unix를 설치하지 않으려면 다른 해결책이 있습니다.

  1. 이 오류를 일으키는 \r 문자를 제거할 수 있습니다. 이 후행 문자를 제거하려면 다음 명령을 사용하십시오.

    sed -i 's/\r$//' filename
    
  2. 여기서 filename은 오류를 일으키는 파일입니다.

  3. -i 옵션은 내부 편집에 사용됩니다.

  4. 이 명령은 입력 파일에서 후행 \r을 삭제합니다.

해결책 3

이것은 더 간단합니다. Notepad++ 또는 VScode와 같은 소프트웨어를 사용하여 명령 형식을 변경할 수 있습니다.

예를 들어 메모장++에서:

  • Notepad++에서 Bash 파일을 엽니다.
  • 편집 -> EOL 변환으로 이동합니다.
  • Unix/OSX 형식을 선택합니다.
  • 파일을 저장하고 실행하십시오.

이 세 가지 솔루션은 위에서 설명한 오류를 해결합니다.

작가: Sheeraz Gul
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

관련 문장 - Java Error