Windows에서 쉘 스크립트를 어떻게 실행할 수 있습니까? [복제]


23

저는 Mac 사용자이고 Windows를 처음 사용합니다. Windows에서 쉘 스크립트를 어떻게 실행할 수 있습니까?

일반적으로 텍스트 파일을 확장명으로 저장하고 .sh터미널을 통해 실행합니다. 그러나 Windows에서 어떻게 할 수 있습니까?



2
Windows에서 실행할 것으로 예상되는 스크립트의 예를 제공 할 수 있습니까?

1
기존 .sh쉘 스크립트 를 실행하려고 하십니까? 아니면 Windows 용 스크립트를 작성하는 방법을 알고 싶습니까?
Keltari

답변:


30

.sh접미사가 있는 스크립트 는 일반적으로 Bourne 쉘 스크립트 (또는 bash, ksh 또는 zsh-Bourne 쉘에서 파생 된 모든 쉘)입니다. (MacOS를 포함한 유닉스 계열 시스템에서는 .sh접미사가 필요하지 않습니다. OS는 #!/bin/sh스크립트 상단의 행을보고 실행 방법을 결정합니다.)

Windows는 Bourne과 같은 셸을 제공하지 않습니다.

Windows에서 Unix와 유사한 환경을 제공하는 Cygwin 을 설치할 수 있지만 특히 "기본"환경은 없습니다. (사설 코멘트 : Cygwin은 Windows를 사용해야하지만 실제로는 Unix를 사용하는 나와 같은 사람들에게 유용합니다.)

MinGW 및 Microsoft에서 제공 하는 Windows Services for UNIX 패키지 포함하여 Windows에서 실행되는 다른 Unix와 유사한 하위 시스템이 있습니다 .

또는 Unix와 유사한 쉘 스크립트를 작성하고 실행하는 대신 Windows 배치 파일을 작성할 수 있습니다. 이들은 일반적으로 .bat또는 .cmd접미사를 갖습니다 . Windows 대화식 명령 프롬프트와 동일한 명령 및 구문을 사용합니다.

비교적 새로운 Windows PowerShell도 있습니다 . 나는 그것에 익숙하지 않지만 그것에 대해 좋은 소식을 들었습니다.


3
원격 컴퓨터 재부팅 또는 원격 컴퓨터의 서비스 종료부터 Active Directory에서 컴퓨터 이름 목록 가져 오기, 알파벳순으로 정렬 및 각각에 대한 테스트에 이르기까지 모든 작업을 수행하는 몇 가지 스크립트를 작성한 Powershell 사용자로서 Powershell 제안을 뒷받침합니다. 특정 서비스 및 대규모의 복잡한 파일 이동 말 그대로 창에서 모두 할 수 있습니다.
Paperlantern

1
cygwin이 스크립트를 실행할 수는 있지만 기본 시스템 (예 : 사용 가능한 바이너리, 파일 시스템 레이아웃 등)에 대한 가정을하는 경우 제대로 실행되지 않을 수 있습니다.
Daenyth

7

Cygwin 을 사용할 수 있습니다 . 그것은 윈도우에서 리눅스와 같은 환경을 제공합니다.


2

승리시 공통 확장자는 .bat또는 .cmd입니다. Windows 셸에서 사용되는 명령의 좋은 소스는 ss64 입니다 (CMD 및 PowerShell 용).

Cygwin 은 "필수"가 아닙니다. 그것은 단지 당신에게 리눅스 스타일을 제공합니다-승리시 BASH를 사용하십시오.


2

UWIN은 어떻습니까?

UWIN 은 David Korn이 만든 컴퓨터 소프트웨어 패키지로 운영 체제 Unix 용으로 작성된 프로그램을 거의 변경하지 않고도 Microsoft Windows에서 빌드하고 실행할 수 있습니다. 소프트웨어 개발 중 일부는 인도 Wipro와 하청 계약을 체결했습니다.

UWIN-Windows 용 Unix 확인

UWIN의 두드러진 특징

  1. Windows에서 Unix의 거의 모든 명령 행 도구에 액세스하십시오. 245 개의 명령 줄 도구가 정확합니다.
  2. 원본 Unix 컴파일러 'cc'와 함께 'make'와 같은 다양한 도구와 Unix 응용 프로그램을 소스 코드를 거의 또는 전혀 변경하지 않고 Windows 시스템에서 빌드하고 실행할 수 있도록하는 데 필요한 라이브러리와 함께 제공됩니다.
  3. Visual C ++ 또는 Mingw와 같은 다른 컴파일러를 사용하여 프로그램을 컴파일하는 옵션. 본격적인 펄 패키지.
  4. Windows에서 X 응용 프로그램을 개발하고자하는 사람들을위한 X Windows 라이브러리. Windows에서 이러한 응용 프로그램을 실행하지만 UWIN과 함께 제공되지 않는 X 서버가 필요합니다.
  5. UWIN에는 UWIN 시스템 매개 변수를 구성하는 데 사용할 수있는 제어판 애플릿 ( '시작-> 설정-> 제어판-> UWIN'을 통해 액세스)이 제공됩니다.

UWIN의 사용

  • Windows에서 기본적으로 Unix 응용 프로그램을 최고 속도로 실행하십시오.
  • Windows에서 모든 유닉스 명령 줄 도구를 사용하십시오.
  • UWIN에 번들로 제공되는 korn 쉘은 Windows 환경에서 Unix 사용자가 집처럼 느끼게합니다.
  • Windows에서 UNIX 응용 프로그램을 개발하고 실행하십시오.
  • Windows 플랫폼에서 X 애플리케이션을 개발하십시오.

UWIN의 단점

  • UWIN은 X 서버와 함께 제공되지 않으므로 사용자는 Windows에서 X 응용 프로그램을 실행할 수 없습니다. 이 차이를 메울 수있는 타사 상용 X 서버가 있지만
  • UWIN은 GPL에 따라 배포되지 않지만 교육 및 비상업적 목적으로 무료로 다운로드하여 사용할 수 있습니다

그 소프트웨어는 내가 대학에있을 때 우리에게 Linux Command를 가르치는 데 사용되었습니다.


참조 : WikiPedia

Cygwin 은 Unix와 유사한 환경 및 Microsoft Windows 용 명령 줄 인터페이스입니다.

Cygwin은 Windows 기반 응용 프로그램, 데이터 및 기타 시스템 리소스를 응용 프로그램, 소프트웨어 도구 및 Unix와 유사한 환경의 데이터와 기본적으로 통합합니다.

Interix
Interix는 SFU (Services for Unix) 릴리스 3.0 및 3.5의 구성 요소입니다 ( 마지막으로 배포 됨 ).

Interix, 5.2 및 6.0의 최신 릴리스는 Windows Server 2003 R2, Windows Vista Enterprise 및 Ultimate 에디션 및 Windows Server 2008의 구성 요소이며 SUA (Subsystem for Unix 기반 응용 프로그램) 버전 6.1이라는 이름으로 Windows 7 ( Enterprise and Ultimate) 및 Windows Server 2008 R2 (모든 에디션)


2

Windows 10 1 주년 업데이트 로이를 수행하는 다른 방법이 있습니다. Windows에서 Bash (Ubuntu) 셸을 사용할 수 있습니다.

기능을 사용하려면 기능이 기본적으로 활성화되어 있지 않으므로 설치해야합니다.

  1. Control Panel-> Programs->로 이동하십시오 Turn Windows Features On and Off.

  2. 의 확인란을 선택하십시오 Windows Subsystem for Linux (Beta). 그러면 기능이 설치되고 재부팅하라는 메시지가 표시됩니다.

그런 다음 run-> cmd을 통해 명령 프롬프트를 연 다음 입력 bash하거나 run-> 할 수 bash.exe있습니다.

이것은 가상 머신이나 Cygwin 또는 virtualbox가없는 bash 쉘을 제공합니다.


1

여기의 기존 답변은 당시에는 정확했지만 Windows 10 에는 전체 bash 셸을 실행하는 수정 된 버전의 Ubuntu가 선택적으로 포함됩니다 .

일단 설치되면, bash 프롬프트를 열고 (OS X / macOS의 터미널처럼) 평소와 같이 스크립트를 실행할 수 있습니다.

chmod +x myscript.sh
./myscript.sh

Windows에서 직접 스크립트를 실행하려면 동일한 디렉토리에 바로 가기를 만들고 'Target'을 다음과 같이 설정하십시오.

C:\Windows\System32\bash.exe -c "./myscript.sh"

스크립트 경로가 바로 가기 위치와 관련이있는 경우 (위의 예와 같이) '시작'필드도 비워 두십시오.


0

CygWin이 필요하며 다음을 실행할 수 있다고 생각합니다.

sh yourscript.sh

0

정답은 Kenaniah의 의견에 주어졌으며 배치 파일 을 사용해야 합니다 . 쉘 코드 파일의 이름을 * .bat로 지정해야합니다. 그런 다음 클릭하여 실행하거나 터미널에 해당 이름을 입력하면됩니다. Windows 터미널은 유닉스 터미널과 똑같이 작동하지 않습니다. 웹 전체에서 명령 및 구문에 대한 많은 도움말 및 자습서를 찾을 수 있습니다. 더 유닉스처럼 보이는 Windows PowerShell 을 사용할 수도 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.