Windows 7 Ultimate를 구입하여 사용하고 있으며 응용 프로그램 개발에 사용하고 싶습니다. 단점 중 하나는 (모든 OS와 마찬가지로) Bash 스크립트를 실행할 수 없다는 것입니다. 일부 소프트웨어를 설치하여 Windows에서 Bash 스크립트를 실행하는 방법이 있습니까? 100 % 작동하지 않아도 괜찮지 만 가장 일반적인 기능을 사용할 수있는 한 훌륭 할 것입니다.
Windows 7 Ultimate를 구입하여 사용하고 있으며 응용 프로그램 개발에 사용하고 싶습니다. 단점 중 하나는 (모든 OS와 마찬가지로) Bash 스크립트를 실행할 수 없다는 것입니다. 일부 소프트웨어를 설치하여 Windows에서 Bash 스크립트를 실행하는 방법이 있습니까? 100 % 작동하지 않아도 괜찮지 만 가장 일반적인 기능을 사용할 수있는 한 훌륭 할 것입니다.
답변:
다른 많은 GNU 및 Unix 유틸리티 중에서 Bash를 포함하는 Cygwin을 설치하십시오 (어쨌든 bash가 매우 유용 할 것 같지는 않음).
또 다른 옵션은 bash와 awk와 같은 더 중요한 유틸리티의 작은 집합을 포함하는 MinGW의 MSYS 입니다. 개인적으로 나는 Cygwin을 선호했을 것입니다. 펄과 파이썬과 같은 무거운 도구를 포함하고 있기 때문에 MSYS는 이것들을 간과하고 여러분이 직접 설치할 것이라고 가정합니다.
업데이트 됨 : 누구든지이 답변에 관심이 있고 MS-Windows 10을 실행중인 경우 MS-Windows 10에는 " Linux 용 Windows 하위 시스템 "기능이 있습니다.이 기능을 사용하면 Ubuntu의 사용자 모드 이미지를 설치할 수 있습니다. 그런 다음 Bash를 실행하십시오. 이는 Bash 스크립트 디버깅 및 실행을 위해 Ubuntu와 100 % 호환성을 제공하지만이 설정은 Windows에서 완전히 독립형이며 DrvFS 기능을 통해 파일에 대한 제한된 액세스를 제외하고는 Bash 스크립트를 사용하여 Windows 기능 (예 : 프로세스 및 API)과 상호 작용할 수 없습니다. .
mingw32
기본적으로 MSYS가 포함 된 디렉토리를 볼 수 있습니다. 따라서 Windows 용 Git은 "nicer"설치 프로그램과 함께 Git (MSYS 설치 프로그램에서 선택 사항)을 포함하는 MinGW입니다. superuser.com/a/1362301/10942
내가 찾을 수있는 가장 좋은 옵션은 Git Windows입니다. 설치 한 다음 마우스 오른쪽 버튼을 클릭하고 "Git Bash Here"를 클릭하면 bash 창이 열립니다.
그리고 리눅스 명령이 작동합니다 ...
나는 'sh', 'vi', 'ssh', 'curl'등 명령을 시도했습니다.
좀 더 네이티브를 찾고 있다면 getGnuWin32 를 사용 하여 포팅 된 모든 유닉스 명령 줄 도구를 설치할 수 있습니다 . 그리고 winBash 는 대부분 의 작업 유닉스 환경을 제공합니다. 더 나은 터미널 에뮬레이터를 위해 console2 를 추가 하면 Windows에서 거의 말할 수 없습니다!
Cygwin은 전반적으로 더 나은 툴킷이지만 Windows와 Windows 사이의 구분으로 인해 깜짝 문제가 발생했습니다. 이러한 솔루션 중 어느 것도 기본 Linux 시스템만큼 좋은 것은 없습니다.
다음을 사용하여 조사 할 수 있습니다 버추얼 박스를 선택의 배포판과 리눅스 VM을 만들 수 있습니다. 호스트 OS와 폴더를 공유하도록 설정하면 진정한 Linux 개발 환경을 사용하고 Windows와 공유 할 수 있습니다. EOL 마커를 조심하세요.
최선의 선택? Windows 10. 기본 Bash 지원!
cbwin
.
Windows에서 항상 Cygwin 을 설치 하여 Unix 셸을 실행할 수 있습니다 . 저는 Window XP에서 Cygwin을 광범위하게 사용했습니다.
git-extentions ( https://code.google.com/p/gitextensions/ )를 설치 한 후 명령 프롬프트에서 .sh 파일을 실행할 수 있습니다. (./script.sh가 필요하지 않습니다. bat / cmd 파일처럼 실행하십시오.) 또는 MinGW Git bash 쉘을 사용하여 "전체"bash 환경에서 실행할 수 있습니다.
나는 Cygwin의 열렬한 팬이 아니기 때문에 (예, 정말 강력하다고 확신합니다), 나를 위해 완벽하게 설치하지 않고도 Windows에서 bash 스크립트를 실행합니다.
bash
powershell 인스턴스에서 시도하고 실패하고 git-extensions를 설치하고 재 시도했으며 나를 위해 일했습니다.
기본적으로 실행하려면 Cygwin을 사용해야 할 것입니다 (Windows를 사용할 때 없이는 살 수 없습니다). 그래서 방망이에서 즉시, Cygwin에 +1. 다른 것은 문명화되지 않을 것입니다.
그러나 최근에 나는 유틸리티 조합을 사용하여 Bash 스크립트를 Windows로 쉽게 포팅하기 시작했습니다. 따라서 안티 리눅스 동료들이 GNU 유틸리티로 더 잘 처리되는 복잡한 작업을 쉽게 실행할 수 있습니다.
일반적으로 한 창에서 원본 스크립트를 열고 다른 창에서 배치 파일을 작성하여 매우 짧은 시간에 Bash 스크립트를 Batch로 이식 할 수 있습니다. 내가 사용하는 도구는 다음과 같습니다.
나는 GnuWin32보다 UnxUtils를 선호하는데, 그 이유는 [내가 틀렸다면 누군가 나를 고쳐주세요] GnuWin 유틸리티는 일반적으로 설치되어야하는 반면, UnxUtils는 바로 작동하는 독립 실행 형 바이너리이기 때문입니다.
그러나 CoreUtils에는 Windows (curl.haxx.se/download.html)에서도 사용할 수있는 cURL과 같은 친숙한 * NIX 유틸리티가 포함되어 있지 않습니다.
프로젝트 용 폴더를 만들고 항상 SET PATH =. .bat 파일에서 기본 CMD 셸 명령 이외의 다른 명령이 참조되지 않도록합니다 (또한 Batch 스크립트가 예상대로 작동하기 위해 프로젝트 폴더에 필요한 특정 UnxUtils).
그런 다음 필요한 CoreUtils .exe 파일을 프로젝트 폴더에 복사하고 ". \ curl.exe -s google.com"등과 같은 .bat 파일에서 참조합니다.
Bat2Exe 프로그램은 마법이 일어나는 곳입니다. 배치 파일이 완료되고 성공적으로 테스트되면 Bat2Exe.exe를 시작하고 프로젝트 폴더의 경로를 지정합니다. 그런 다음 Bat2Exe는 해당 특정 폴더의 모든 파일을 포함하는 Windows 바이너리를 만들고 기본 실행 파일로 사용하기 위해 발견되는 첫 번째 .bat를 사용합니다. 생성되는 최종 .exe 파일의 아이콘으로 사용할 .ico 파일을 포함 할 수도 있습니다.
이러한 유형의 프로그램 중 몇 가지를 시도해 보았고 생성 된 바이너리 중 상당수가 맬웨어로 플래그 지정되었지만 내가 참조한 Bat2Exe 버전은 완벽하게 작동하고 생성 된 .exe 파일이 완전히 깨끗하게 검사됩니다.
결과 실행 파일은 일반적으로 사용할 많은 도구의 기능을 활용할 수 있다는 점을 제외하고는 일반 배치 파일과 마찬가지로 두 번 클릭하여 대화 형으로 실행하거나 매개 변수 등을 사용하여 명령 줄에서 실행할 수 있습니다. Bash에서.
이 작업이 상당히 길어지고 있다는 것을 알고 있지만, 조금 벗어나면 동료가 휴대용 Cygwin 설치가 포함 된 네트워크 공유에서 시작할 수 있도록 PortaBashy라고하는 Batch 스크립트도 작성했습니다. 그런 다음 % PATH % 변수를 일반 * NIX 형식 (/ usr / bin : / usr / sbin : / bin : / sbin) 등으로 설정하고 Bash 쉘 자체로 시작하거나 더 강력하고 예쁜 MinTTY 터미널 에뮬레이터.
당신이하려는 일을 성취하는 방법은 항상 많습니다. 이는 작업에 적합한 도구를 결합하는 문제 일 뿐이며 여러 번 개인 취향에 따라 결정됩니다.
이를 수행 할 수있는 이론적 가능성이 하나 더 있습니다. Windows의 전문가 버전에는 POSIX 지원이 내장되어 있으므로 bash는 Windows 용으로 기본적으로 컴파일 될 수 있습니다.
안타깝지만 아직 컴파일 된 것을 찾지 못했습니다 ...