programing

'\r': 명령어를 찾을 수 없습니다 - .syslogrc / .syslog_profile

showcode 2023. 4. 10. 22:27
반응형

'\r': 명령어를 찾을 수 없습니다 - .syslogrc / .syslog_profile

하여 창을 'Cygwin"을 설정하려고 .JAVA_HOME내 것을 통해 영원히.bashrc

.twrc:

export PATH="$JAVA_HOME/bin:$PATH"  
export JAVA_HOME=$JAVA_HOME:"/cygdrive/c/Program Files (x86)/Java/jdk1.7.0_05"

.syslog_profile:

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

sygwin 실행:

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

다른 시스템용 튜토리얼에서 명령을 받았는지 또는 단계가 누락되었는지 확실하지 않습니다.공백으로 인해 명령이 제대로 실행되지 않습니다.

비슷한 질문을 여러 번 봤지만 내 오류가 정확히 있는 질문은 찾지 못했습니다.


내 고향 경로:

$ echo $HOME
/cygdrive/c/Users/jhsu
$ echo ~
/cygdrive/c/Users/jhsu/

그래서 파일을 올바른 위치에 배치해야 한다고 생각합니다.

사이그윈에서 모든 게 실패하면...

도 한 번 해 보세요.dos2unix명령어를 입력합니다.

다음과 같은 오류 메시지가 표시될 때 도움이 될 수 있습니다.

-bash: '\r': command not found

Cygwin에서는 Windows 스타일의 줄바꿈 문자가 문제를 일으킬 수 있습니다.

dos2unixUNIX / Cygwin の 과과과과과과 。

주의: dos2unix 명령에 의해 파일이 수정되므로 필요에 따라 주의하십시오.

원본 파일을 보관해야 할 경우 먼저 백업해야 합니다.

Mac 사용자용 주의사항:dos2unixMac OS X 에에에에에 os os 。

다양한 툴을 사용한 다양한 솔루션에 대해서는 이 답변을 참조하십시오.


요.unix2dos명령어는 그 반대입니다.

Windows 툴과 호환되도록 Unix 의 줄바꿈 문자를 변경합니다.

함께 되면 " " 를 사용해 .unix2dos filename.

dos2unix가 설치되어 있지 않은(설치하고 싶지 않은) 사용자:

삭제\r다음과 같이 합니다.

sed -i 's/\r$//' filename


설명:

★★-i내부 편집을 위해 후행 부분을 삭제합니다.\r직접 입력 파일에 저장합니다.따라서 패턴을 올바르게 입력하도록 주의하십시오.

Windows(쉘) 사용자는 Notepad++(v6.8.3에 체크 표시)를 사용하여 옵션을 사용하여 특정 파일을 수정할 수 있습니다.

  • 편집 -> EOL 변환 -> Unix/OSX 형식

파일을 다시 저장합니다.

편집: v7.5.1(2017년 8월 29일)에서도 동작합니다.

년년 : ~1 하3 asAsVSCode여러 번 언급되고 있습니다.하여 VSCode를 합니다.files.eol에서 ★★★★★★★★★★★★★★★로 설정합니다.\n(일부러)이렇게 하면 사용자 또는 모든 파일의 작업영역에 대한 이 설정이 변경되며 원하는 설정이 아닐 수 있습니다.YMMV

7을 사용하고 만, Windows 7을 .★★★★★★★★★★★★★★★★★,set -o igncr합니다.SHELLOPTSWindows 환경에서 환경변수로 변환합니다.(그래서 unix/sygwin에서는 아무것도 사용할 수 없습니다.).bashrc로 '빨려들어간다는 말이니까. ;-) 나의 '물방울은 빨려들어간다'는 이예요. ;-)SHELLOPTS 모양입니다.

braceexpand:emacs:hashall:histexpand:history:igncr:interactive-comments:monitor

숭고한 텍스트

숭고하게 넌 그냥 가

표시 - > 행 끝 - > (선택)유닉스

그런 다음 파일을 저장합니다.이 문제를 해결합니다.

그렇게 간단해!

1.7)을 Cygwin(win: 1.7)을 모두 ..bashrc ★★★★★★★★★★★★★★★★★」.bash_profile다음 행과 함께 주석 없는 첫 번째 행에 표시됩니다.

# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples
(set -o igncr) 2>/dev/null && set -o igncr; # this comment is needed

에 의해, 리턴bash」)을 .\rWindows windows windows windows windows windows windows windows windows windows windows 。

http://cygwin.com/ml/cygwin-announce/2010-08/msg00015.html 를 참조해 주세요.

오류:

'\r': 를 찾을 수 : 명령어를 찾을 수 없습니다.

는, 셸이 와 엔딩을 할 수 없기 에 발생합니다( 「」, 「Windows」, 「CRLF」, 「CRLF」, 「CRLF」, 「CRLF」, 「CRLF」, 「CRLF」, 「CRLF」, 「CRLF」, 「CRLF」).0d 0a )입니다.LF )0a를 참조해 주세요.


Git

Windows에서 Git을 사용하는 경우 설치 중에 '있는 그대로 체크아웃'을 선택했는지 확인하십시오.그런 다음 다음을 실행합니다.git config --global core.autocrlf false따라서 Git은 텍스트 파일을 체크아웃하거나 커밋할 때 변환을 수행하지 않습니다.


dos2unix

Git 를 사용하지 않는 경우는, 다음의 몇개의 방법으로, 영향을 받는 파일/스크립트를 Unix 의 행 엔딩(LF)으로 변환하기만 하면 됩니다.

dos2unix ~/.bashrc

★★★★★★dos2unix는 「명령어」의 입니다.dos2unix★★★★★★★★★★★★★★★★★★.

에디터 + Ex/Vim 에디터 +tr

Vim이 설치되어 있는 경우 다음 명령을 실행하면 파일이 수정됩니다.

ex +'bufdo! %! tr -d \\r' -scxa ~/.bash*

한 에일리어스: " " " "alias dos2unix="ex +'bufdo! %! tr -d \\\\r' -scxa".

tr

하다를 사용해서 하는 요.tr:

cat ~/.bashrc | tr -d '\r' > ~/.bashrc.fixed && mv -v ~/.bashrc.fixed ~/.bashrc

또는 다음과 같이 입력합니다.

tr -d '\r' < filename > new_filename

★★★★★★\r \015.


sed

다음 명령을 사용할 수 있습니다.

sed -i'.bak' s/\r//g ~/.bash*

recode

가 도움이 될 수 으로 대체됩니다).dos2unix★★★★★★★★★★★★★★★★★★:

alias unix2dos='recode lat1:ibmpc'
alias dos2unix='recode ibmpc:lat1'

출처: Windows에서 Unix Tools(ssh, bash 등)를 무료로 사용할 수 있습니다.


perl

와 같다perlUnix의 DOS입니다.

perl -p -i.bak -e 's/\015//g' ~/.bash*

출처: ^M을 제거합니다.


tofrodos

Linux에서는 Ubuntu와 같이 표준으로 제공되지 않습니다.dos2unix ★★★★★★★★★★★★★★★★★」unix2dos를 인스톨 할 수 tofrodos ( )sudo apt-get install tofrodos 에일리어스를

alias dos2unix=’fromdos’
alias unix2dos=’todos’

그런 다음 위와 같은 구문을 사용합니다.


부랑자

을 사용하고스크립트에서 이 Vagrant VM을 설정해 .binary " " " option to " " option to " )true:

# Shell provisioner, see: https://www.vagrantup.com/docs/provisioning/shell.html
config.vm.provision "shell" do |s|
  s.binary = true # Replace Windows line endings with Unix line endings.
  s.path = "script.sh"
end

자세한 것은, 「Vagrant 에서의 Windows CRLF ant Unix LF 」를 참조해 주세요.

다음 명령을 실행해 보십시오.

vim .bashrc
:set ff=unix
:wq!

할 수 .-o igncr예를 들어, Bash 콜에 접속할 수 있습니다.

bash -x -o igncr script.sh

요지에 따르면 해결방법은 다음과 같습니다.~/.bash_profile)HOME에 되어 있습니다.

export SHELLOPTS
set -o igncr

이 파일을 작성/업데이트하기 위해 메모장++를 사용했을 수 있습니다.

EOL(편집->)EOL 변환) 변환은 기본적으로 Windows 입니다.

메모장++에서 EOL 변환 변경

Edit -> EOL Conversion -> Unix (LF)

저도 같은 문제가 있었어요.솔루션:pspad 에디터로 파일을 편집하여 unix 형식(Menu - Format - > UNIX)을 지정합니다.

이 포맷은 다른 에디터들과 함께 파일에 설정할 수 있습니다.

Emacs 사용자의 경우:

  1. 파일을 엽니다.
  2. M-x set-buffer-file-coding-system
  3. "unix"를 선택합니다.

그러면 파일의 새 문자가 unix 스타일로 업데이트됩니다.Emacs의 "Newline Representation"에 대한 자세한 내용은 다음 URL을 참조하십시오.

http://ergoemacs.org/emacs/emacs_line_ending_char.html

주의: 명령줄에서 실행하는 경우 위의 절차를 Emacs 스크립트로 만들 수 있습니다.

윈도 머신에서 작성/다운로드된 파일/스크립트 때문에 문제가 발생했을 수 있습니다.Linux 파일 형식으로 변환해 보십시오.

dos2unix ./script_name.sh

또는

dos2unix ~/.bashrc

Cygwin 인스톨에 vim 패키지가 인스톨 되어 있는 경우는, vim 를 사용해 이 문제를 해결할 수 있습니다. 하다, 하다, 하다.vim filename.sh(비어)다음 '하다'를 입력합니다.:set fileformat=unix , , , 「 」:wq quit). (write & quit). (write & quit).(the (the):vim 편집 모드입니다.)

vim이 더 일반적으로 설치되기 때문에 dos2unix보다 이것을 권장합니다.

그러나 Unix/Linux 환경에서 사용할 예정인 파일을 Unix 텍스트 형식으로 저장하도록 텍스트 편집기를 설정하는 것이 좋습니다.위의 메모장++에 대한 답변이 좋은 예입니다.

( 또는 파일 유형(DOS 또는 Unix)할 수 있습니다.file filename.sh이는 특히 Windows에서 SQL 덤프를 Import할 때의 부호화 문제 등 더 불분명한 문제를 디버깅하는 데 도움이 됩니다.

텍스트 파일 형식을 수정하는 방법에 대한 기타 옵션은 IU 기술 자료 문서를 참조하십시오.

Bash 스크립트 및 회선 엔딩에 대한 자세한 배경 정보는 이 StackOverflow 질문을 참조하십시오.

Edit Plus에서는 이 작업을Document → File Format (CR/LF) → Change File Format...를 선택하고 , 「」를 합니다.Unix / Mac OS X라디오 버튼을 클릭합니다.

1. 선택지

에디터 구성 에디터 Config :는 제가 선택한 것입니다.


2. 관련성

이 답변은 2018년 3월과 관련이 있습니다.미래에는 이 답변의 데이터가 사용되지 않을 수 있습니다.

이 답변의 작성자는 2018년 3월에 EditorConfig를 개인적으로 사용했습니다.


3. 제한사항

지원되는 IDE/에디터하나를 사용해야 합니다.


4. 의론

  1. 해야 한다..editorconfig→ 프로젝트를 만들 때 플랫폼, 스타일IDE 관련 문제를 잊을 수 있습니다.
  2. 크로스 플랫폼, 크로스 언어, 크로스 IDE, 크로스 에디터.

5. 예

5.1. 심플

Sublime Text →용 EditorConfig 플러그인설치합니다.Sublime Text에서 파일을 편집합니다.

를 들어, 나는 를들, 는 for가 있다.sashacrlf.sh 삭제:

echo "Sasha" &
echo "Goddess!" &

Cygwin에서 다음 파일을 실행합니다.

$ bash sashacrlf.sh
Sasha
sashacrlf.sh: line 1: $'\r': command not found
Goddess!

..editorconfig과 같은 프로젝트로sashacrlf.sh.

[*.sh]
end_of_line = lf

「」가 붙은 하면, 「」가 됩니다..shEditor Config editor editor UNIX 、 UNIX editor editor editor editor editor 。

sashacrlf.sh하다sashacrlf.sh 추가:

$ bash sashacrlf.sh
Sasha
Goddess!

콘솔에서 예기치 않은 출력을 얻을 수 없습니다.

5.2. 다중 파일 확장자

를 들어,가 「」, 「」, 「」, 「」, 「」, 「」의 모든 의 엔딩을 합니다..sh,.bashrc ★★★★★★★★★★★★★★★★★」.bash_profile은 제가 쓰려고 행입니다..editorconfig 삭제:

[*.{sh,bashrc,bash_profile}]
end_of_line = lf

시점에서, 「」가 붙은 하면,.sh,.bashrc ★★★★★★★★★★★★★★★★★」.bash_profileEditorConfig는 UNIX를 사용합니다.


6. 기타 링크

언급URL : https://stackoverflow.com/questions/11616835/r-command-not-found-bashrc-bash-profile

반응형