답변:
오류 메시지에서 Windows CMD.EXE에 있습니다. 다른 구문을 사용하여 명령을 실행합니다. 당신은 사용해야합니다 sh name.sh
당신은 Cygwin에서 또는 이와 유사한이 설치되어있어 가정.
명확히하기 위해 Windows에는 .sh 파일을 지원하는 기본 제공 유틸리티가 없습니다. 이를 실행하려면 Cygwin 과 같은 타사 도구를 설치해야합니다 .
Windows 명령 프롬프트에서 Linux 명령을 실행하려고합니다.
Linux에서 슬래시는 경로 구분 기호입니다. Windows에서 백 슬래시는 경로 구분 기호이며 슬래시는 일반적으로 인수를 나타냅니다.
따라서 Windows는 "."라는 명령을 실행하려고한다고 생각합니다. "/name.sh"인수를 구문 분석하십시오. 올바른 규칙은 ". \ name.sh"입니다. 또한 Windows는 자동으로 현재 디렉토리에서 명령을 검색하므로 "name.sh"만 입력하면됩니다.
다음으로 직면하게 될 문제는 Windows가 sh 스크립트가 무엇인지 알지 못한다는 것입니다. 다시 이것은 Linux입니다. sh 스크립트를 정말로 원하거나 실행해야하는 경우 Cygwin을 설치하여이 문제를 해결할 수 있습니다.
그러나 이전 의견 중 하나에 따라 스크립트 이름을 name.bat로 바꾸고 "#! / bin / sh"줄을 삭제할 수 있습니다. 이제 Windows가 이해해야 할 배치 파일이 있습니다. 배치 파일에 대한 자세한 내용은 여기를 참조하십시오 .
Windows 용 .git 다운로드 및 설치
바탕 화면을 마우스 오른쪽 버튼으로 클릭하고 "git bash here" 라고 말합니다.
유닉스처럼 스크립트를 실행
끝난!
주의 : 많은 명령이 Windows에서 작동하지 않습니다! 그러나 여전히 많은 기본 기능이 작동합니다.
해당 스크립트가 정기적으로 필요한 경우 바탕 화면에서 바로 가기를 만들 수 있습니다.
바로 가기 만들기 에를 mintty.exe
바탕 화면에
바로 가기의 속성 을 편집 하고 대상을 변경하십시오 (경로 유지).
C:\Program Files\Git\usr\bin\mintty.exe" -h always /bin/bash -l -e 'D:\folder\script.sh'
당신은 가솔린 대신 오렌지 주스로 차를 운전하려고합니다. Windows는이 두 운영 체제 제품군이 DEC PDP-x 시스템의 공통 조상을 공유하므로 Unix / Linux / zOS Unix Subsystem / * ix 쉘 스크립트와 함께 .bat 또는 .cmd 파일에 저장된 유사한 명령을 공유합니다.
즉각적인 만족을 원한다면 "sh.exe"프로그램 또는 "csh.exe"또는 "bash.exe"프로그램 (tsh.exe anyone?)을 제공하는 환경을 설치해야합니다.
또는 Unix 스크립트 명령을 잘 알고 있고 Windows .cmd 및 .bat 파일 명령을 잘 알고 있다면 .sh 파일을 .bat 또는 .cmd 파일로 변환 할 수 있습니다. 그럼에도 불구하고 Windows에서는 그레프, sed, vi, emacs 등과 같은 유닉스 스타일의 프로그램이 더 많이 발생합니다. 따라서 CygWin (미니멀리스트 없음)을 설치하라는 요구는 쉘과 유닉스를 얻는 것입니다. 도구. 이 특별한 경우를 위해 플래시 드라이브에 넣으십시오.
누군가 /
명령과 \
경로를 사용하여 MS-DOS에 대해 이야기했습니다 . 이것은 약간 잘못된 것입니다. 내 예를보십시오 :
C:\myfoo\foo\>cd../..
C:\myfoo\foo\>cd..\..
효과에는 차이가 없습니다. 예, 모든 작업에 해당되는 것은 아닙니다. 실제 답변은 단순히 아니요 또는 Cygwin 또는 SSHD 없이는 할 수 없습니다.
내가 바보 무엇인지 알아 내려고 반나절 동안 때문에 나는 단지 알 if then fi
과 eval
, exec
함께 할 -Djava.something
전화했을 때.
Windows 용 Github을 사용하십시오. 모든 유닉스 환경 실행 파일이 포함되어 있습니다.
완벽을 기하기 위해 Windows 10의 새로운 "Linux 용 Windows 하위 시스템"기능에 대해 언급하고 싶습니다. 자세한 내용은 http://www.howtogeek.com/249966/how-to-install-and-use-the-linux-에 설명되어 있습니다 . bash-shell-on-windows-10 /
"개발자 모드"스위치를 활성화하고 "Linux 용 Windows 서브 시스템 (베타)"옵션을 활성화해야합니다.
나 자신을 위해 나는 Git for Windows 설치 (어쨌든 사용 중)가 충분하다는 것을 알았다.
#! / bin / sh를 삭제하고 익스텐션을 bat로 변경하면 몇 가지 수정 사항이 적용 될 수 있습니다. 그런 다음 파일 이름으로도 호출 할 수 있습니다.
유닉스 쉘 스크립트의 구문과 Windows 배치 파일은 너무 비슷하지 않습니다. cygwin 또는 unxutils로 혼란스러워하는 것이 둘 다에서 작동 할 수 있지만 환경이 항상 동일하다는 것을 확신하지 않으면 두통의 가치가 없습니다.
drop the #!/bin/sh, and change the extention to bat, and it might work with a few more fixes.
뭐?! 나는 당신이 이것을 시도하지 않았다고 생각합니다 ... Windows에서는 가장 간단한 bash 기능조차 지원되지 않거나 긴 구문이 필요합니다.
창에서 쉘 스크립트를 실행합니다. 먼저 다음 명령을 사용하십시오 : dos2unix 그런 다음 일반 명령을 사용할 수 있습니다 : sh runide.sh
이것은 잘 될 것입니다.
여기에 기존 답변이 정확했지만 Windows 10 에는 전체 bash 셸을 실행하는 수정 된 버전의 Ubuntu가 선택적으로 포함됩니다 .
일단 실행 가능 해지면 스크립트는 bash 내에서 일반적인 방법으로 실행될 수 있습니다.
chmod +x myscript.sh
./myscript.sh
Windows에서 직접 스크립트를 실행하려면 동일한 디렉토리에 바로 가기를 작성하고 'Target'을 다음과 같이 설정하십시오.
C:\Windows\System32\bash.exe -c "./myscript.sh"
스크립트 경로가 바로 가기 위치와 관련이있는 경우 (위의 예와 같이) '시작'필드도 비워 두십시오.