Windows에서 Cygwin을 통해 쉘 스크립트 실행
Linux 컴퓨터에서 실행하는 데 사용되는 많은 셸 스크립트가 있습니다. 이제 Windows로 전환했으며 여기에서 이러한 스크립트를 실행해야합니다. 나는이 Cygwin에서가 설치되어 있지만 Cygwin에서 사용하여 스크립트 실행을 만들 수있는 방법이 있지만, 호출은 Windows 배치에서 이루어집니다 ?
확실한. 내 (꽤 바닐라) Cygwin에서 설정에 bash
에 c:\cygwin\bin
내가 실행할 수 있도록 bash
스크립트 (예를 들어 testit.sh
같은 명령을 사용하여 Windows 배치 파일을) :
C:\cygwin\bin\bash testit.sh
... .bat
명령 줄에서 입력 할 수있는 것처럼 쉽게 파일에 포함될 수 있으며 동일한 효과를냅니다.
한 가지 더- \r\n
줄 끝 을 생성하는 일부 Windows 텍스트 편집기에서 쉘 스크립트를 편집 한 경우 cygwin의 bash는 이러한 \r
. dos2unix testit.sh
스크립트를 실행 하기 전에 실행하십시오.
C:\cygwin\bin\dos2unix testit.sh
C:\cygwin\bin\bash testit.sh
Windows에서 Notepad ++ 편집기에 액세스 할 수있는 경우이 문제를 쉽게 해결할 수있는 기능이 있습니다.
- Notepad ++에서 오류를 제공하는 파일을 엽니 다.
- "편집"메뉴에서 "EOL 변환"을 선택하십시오.
- "UNIX / OSX 형식"에 대한 옵션이 있습니다. 해당 옵션을 선택하십시오.
- 파일을 다시 저장하십시오.
나는 이것을했고 그것은 내 문제를 해결했습니다.
도움이 되었기를 바랍니다!
http://danieladeniji.wordpress.com/2013/03/07/microsoft-windows-cygwin-error-r-command-not-found/ 에서 자세히 알아보십시오.
디렉토리 아래의 모든 파일에 대해 dos2unix 수정을 적용 할 수 있다는 것을 추가하고 싶었습니다. 스크립트를 '수정'해야 할 때 많은 시간을 절약 할 수 있었기 때문입니다.
find . -type f -exec dos2unix.exe {} \;
나는 Roman의 대답에 대한 주석으로 할 것이지만 아직 주석을 달 수는 없습니다.
스크립트 파일 이름에 항상 .sh를 포함해도 괜찮다면 Cygwin 및 Unix (Macbook)에 대해 동일한 스크립트를 유지할 수 있습니다. 예를 들면 다음과 같습니다
.
1. 항상 .sh를 스크립트 파일 이름에 포함합니다 (예 : test1.sh)
. 2. test1.sh는 예를 들어 다음과 같습니다. 3. Cygwin이 설치된 Windows에서 "test1.sh"를 입력하여 4 를 실행합니다. . Unix에서는 "test1.sh"를 입력하여
#!/bin/bash echo '$0 = ' $0 echo '$1 = ' $1 filepath=$1
참고 : Windows에서는 파일 탐색기를 사용하여 다음 작업을 한 번 수행해야합니다.
1. 파일 탐색기를 엽니 다.
2. test1.sh와 같이 확장명이 .sh 인 파일을 마우스 오른쪽 버튼으로 클릭합니다.
3. 연결 프로그램 ...- > 선택 sh.exe
이후 Windows 10은 sh.exe로 모든 .sh 파일을 실행하는 것을 기억합니다.
참고 :이 방법을 사용하면 실행을 위해 스크립트 파일 이름 앞에 bash를 추가 할 필요가 없습니다.
기존 답변은 모두 DOS 콘솔 창 에서이 스크립트를 실행하는 것 같습니다.
이는 허용 될 수 있지만 예를 들어 색상 코드 (텍스트 색상 변경)가 작동하지 않고 다음과 같이 인쇄됩니다.
"[032mGroovy [0m"] 항목이 없습니다.
얼마 전에이 솔루션을 찾았으므로 mintty.exe
표준 Cygwin 유틸리티인지 아니면 setup
프로그램을 실행해야하는지 확실하지 않지만 다음과 같이 실행합니다.
D:\apps\cygwin64\bin\mintty.exe -i /Cygwin-Terminal.ico bash.exe .\myShellScript.sh
... 이렇게하면 스크립트가 Windows DOS 콘솔 대신 Cygwin BASH 콘솔에서 실행됩니다.
참고 URL : https://stackoverflow.com/questions/15736898/running-a-shell-script-through-cygwin-on-windows
'development' 카테고리의 다른 글
BigDecimal 곱하기 0 (0) | 2020.12.10 |
---|---|
같지 않음에 대한 Rails ActiveRecord 쿼리 (0) | 2020.12.10 |
Gulp-uglify : 던지기 어; (0) | 2020.12.10 |
여러 줄의 JSON으로 컬 (0) | 2020.12.10 |
IntelliJ에서 불가능한 일이 Eclipse에서 가능합니까? (0) | 2020.12.10 |