윈도우에서 작성한 쉘을 리눅스에서 실행하는 법
도우에서 작성한 스크립트를 리눅스에 적용하면 실행이 되지 않는 경우가 많다. 이는 윈도우와 리눅스가 개행문자를 다루는 시스템의 차이때문에 발생한다.
윈도우는 CR+LF를 사용하지만 리눅스는 LF만을 사용하기 때문에 불필요한 개행문자가 자동적으로 따라오는 것이다.
이를 해결하기 위한 과정을 포스팅하기 위해 테스팅 환경을 조성하고 수정해보도록 하겠다.

이번 포스팅에선 test 디렉터리를 삭제하는 쉘을 윈도우에서 만들고 리눅스에 적용시켜보겠다.
먼저 윈도우에서 간단한 쉘을 만들어준다.
메모장에 적었고 저장 시 반드시 .sh 파일로 저장해줘야한다.

필자는 테스트 환경으로 매우 간단한 쉘을 만들었지만, 실무에서 쉘을 사용하는 경우는 프로그램을 테스트하거나, 혹은 수십만개의 파일을 삭제 및 마이그레이션, 복사 할 경우 유용하게 쓰인다.
FTP 프로그램을 통해 윈도우에서 작성한 파일을 Drag & Drop 으로 리눅스에 넣어준다.

ls 명령을 통해 작성한 쉘 파일이 잘 들어간 것을 확인한다.

윈도우에서 스크립트 작성 후 리눅스로 파일을 옮겼을 때 실행이 안된다면 vi -b 파일명.sh 명령을 통하여 개행문자를 제거해야한다.

vi -b를 통하여 윈도우에서 따라온 개행문자를 제거해준다.
vi -b 명령을 통하여 윈도우에서 넘어온 개행문자가 그대로 남아있는것을 확인 할 수 있다.

이를 해결하지 않으면 작성한 스크립트를 실행할 수 없다,
해결법은 다음과 같다.
:%s/^M// --리눅스에서 Ctrl + V + M 클릭하면 위와 같은 문자가 표시되며 이렇게 입력해야 위의 문자를 타이핑 할 수 있다.
:wq
vi -b 에서 위 명령을 타이핑해야한다.
이 명령을 실행할 때 주의할 점은 insert 모드가 아닌 vi -b에 진입한 상태에서 타이핑해야한다.

명령 실행 후 개행문자가 제거된 모습이 확인된다.
위 작업이 끝나면 스크립트에 chmod +x 파일명.sh 를 통하여 실행권한을 준다.
실행권한이 정상적으로 들어가면, 파일의 색깔이 연두색으로 변경된다.
sh 파일명.sh를 통해 작성된 스크립트를 실행한다.

쉘 스크립트 최종 정리
-----스크립트 작성 구조-------------
#!/bin/sh --스크립트 실행 선언
rmdir 파일명 --실행 명령 (이 부분은 무궁무진하다.)
exit 0 --스크립트 종료
-------윈도우에서 작성한 스크립트를 리눅스에서 실행하려면-----
vi -b 파일명에서 개행문자를 제거해줘야 윈도우에서 만든 스크립트가 정상 작동함
vi -b 파일명
:%s/^M//
:wq
-------쉘 스크립트 실행을 위한 퍼미션 설정-----
chmod +x 파일명.sh 로 퍼미션 허가 필수
------정상적으로 쉘 스크립트에 권한이 들어있는지 확인해보려면---
cd/파일 경로
ls
파일명.sh 가 연두색 파일로 표시되는지 확인해본다