검색결과 리스트
글
LANGUAGE/!$%!% ERROR NOTE
2017. 4. 16. 17:36
!markdown
# Linux
### Error (오류)
/bin/sh^M : bad interpreter
### Problem (문제)
윈도우에서 만든 파일과 개행방식이 달라서 생기는 문제이다.
- 윈도우에서는
- 리눅스에서는
### Solved (해결)
#### 1. vi편집기 바이너리모드로 파일을 열어보면 `^M` 표시가 줄의 끝마다 나있는 것을 확인 할 수 있다.
```sh
vi -b {FILENAME}
```
ex)
```sh
vi -b filename.sh
```
#### 2. ^M 표시를 없앤다.
방법1. dos2unix 프로그램을 이용한다.
```sh
dos2unix {FILENAME}
```
ex)
```sh
dos2unix filename.sh
```
방법3. VI편집기로 열고, [ESC] 그다음 이 명령어를 입력한 후 저장한다.
```sh
:set fileformat=unix
```
방법2. sed를 이용하여 파일을 치환한다.
```sh
sed -i 's/\r//' {FILENAME}
```
ex)
```sh
sed -i 's/\r//' filename.sh
```
### Reference (참고)
[http://stackoverflow.com/questions/2920416/configure-bin-shm-bad-interpreter](http://stackoverflow.com/questions/2920416/configure-bin-shm-bad-interpreter)