2012-01-02 05:07:33 +0000 2012-01-02 05:07:33 +0000
22
22
Advertisement

Windowsでシェルスクリプトを実行するにはどうしたらいいですか?

Advertisement

MacユーザーでWindowsは初めてです。Windowsでシェルスクリプトを実行するにはどうしたらいいですか?

一般的には、拡張子が.shのテキストファイルを保存して、ターミナルから実行すると思います。しかし、それをWindowsで実行するにはどうしたらいいのでしょうか?

Advertisement
Advertisement

回答 (8)

30
30
30
2012-01-02 05:18:47 +0000

接尾辞が .sh のスクリプトは、一般的にボーンシェルスクリプト (または bash, ksh, zsh – すべてボーンシェルから派生したシェル) です。(MacOSを含むUnixライクなシステムでは、.shサフィックスは必要ありません。OSはスクリプトの先頭の#!/bin/sh行を見て実行方法を判断します。)

Windowsはボーンライクなシェルを提供していません。

WindowsでUnixライクな環境を提供する Cygwin をインストールすることができますが、特に「ネイティブ」な環境ではありません。(編集部コメント。Cygwinは、私のようにWindowsを使う必要があるが、本当はUnixを使いたいという人には最適です)

Windowsの下で動作する他のUnixライクなサブシステムがあります。これらのファイルには一般的に .bat または .cmd という接尾辞が付いています。

比較的新しい Windows PowerShell もあります。

7
7
7
2012-01-02 05:09:41 +0000
2
Advertisement
2
2
2016-09-19 19:31:35 +0000
Advertisement

Windows10のアニバーサリーアップデート](https://support.microsoft.com/en-us/help/12387/windows-10-update-history)で別の方法があります。WindowsにはBash(Ubuntu)シェルが用意されています。`Control Panel-\>Programs-\>Turn Windows Features On and Off`.

  1. Windows Subsystem for Linux (Beta)のチェックボックスを選択してください。これで機能がインストールされ、再起動のプロンプトが表示されます。

その後、run -> cmd でコマンドプロンプトを開き、bash と入力するか、または run -> bash.exe.

2
2
2
2012-01-02 05:16:17 +0000

Winでは、一般的な拡張子は.bat.cmdです。Windowsシェルで使用されるコマンドの良いソースは ss64 - CMDとPowerShellのためのものです。それはあなたにLinuxスタイルを与えているだけです - WinでBASHを使用してください。

2
Advertisement
2
2
2012-01-02 12:14:01 +0000
Advertisement

UWINとは何ですか? ソフトウェア開発のいくつかは、インドのWiproに下請けされました。

この UWIN - Unix for Windows

UWIN

の顕著な機能をチェックしてください。Windows上のUnixからほぼすべてのコマンドラインツールへのアクセス。正確には245のコマンドラインツール。2. オリジナルの Unix コンパイラ ‘cc’ や ‘make’ のようなツールや必要なライブラリがバンドルされていますので、ソースコードをほとんど変更することなく Unix アプリケーションを Windows マシン上でビルドして実行することができます。プログラムをコンパイルするために Visual C++ や Mingw のような他のコンパイラを使用するオプション。本格的な Perl パッケージ。Windows 上で X アプリケーションを開発したいと考えている人のための X Windows ライブラリ。Windows 上で X アプリケーションを開発したいと思っている人には、X windows ライブラリが必要になります。 - Windows上でUnixコマンドラインツールのフルパワーを使用できます。 - UWINにバンドルされているkornシェルは、Windows環境でUnixユーザーを快適にしてくれます。 - Windows上でUNIXアプリケーションを開発・実行できます。 - Windowsプラットフォーム上でXアプリケーションを開発できます。しかし、このギャップを埋めることができます利用可能なサードパーティの商用Xサーバーがあります。 - UWINはGPLの下でリリースされていませんが、教育と非商用の目的のためにダウンロードして使用することができます。 **


Ref: WikiPedia Cygwin は、Microsoft Windows用のUnixライクな環境とコマンドラインインターフェイスです。

良い点は、CygwinがUnixライクな環境のアプリケーション、ソフトウェアツール、データとWindowsベースのアプリケーション、データ、および他のシステムリソースのネイティブな統合を提供することです。

  • Interix ** Interix は Services for Unix (SFU) リリース 3.0 と 3.5 (この最後のものは自由に配布されています) のコンポーネントです。 0 は、SUA (Subsystem for Unix-based Applications) という名前で、Windows Server 2003 R2、Windows Vista Enterprise と Ultimate エディションと Windows Server 2008 のコンポーネントです。
1
1
1
2016-08-25 07:59:50 +0000

ここでの既存の答えは当時正解でしたが、Windows 10 doesは今、オプションで 完全なbashシェルを実行しているUbuntuの修正版 が含まれています。

一度インストールされると、あなたはbashプロンプトを開くことができます(多くの場合、OS X/macOSのターミナルと同じように)といつものようにスクリプトを実行する、すなわち:

chmod +x myscript.sh
./myscript.sh

Windowsから直接スクリプトを実行したい場合は、同じディレクトリにショートカットを作成し、次のようなものに'ターゲット'を設定することができました。

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

スクリプトのパスがショートカットの場所と相対的な場合 (上記の例のように) 「Start in」フィールドも空白になっていることを確認してください。

0
Advertisement
0
0
2012-01-02 05:09:52 +0000
Advertisement

CygWinが必要になるでしょうし、次のように実行することができると思います:

sh yourscript.sh
0
0
0
2012-01-02 11:20:04 +0000

Kenaniahさんのコメントに正解があったので、バッチファイルを使用します。シェルコードファイルの名前を「*.bat」にして、それをクリックして実行するか、ターミナルに名前を入力してください。WindowsターミナルはUnixターミナルのように正確には動作しないことに注意してください。コマンドや構文のヘルプやチュートリアルはウェブ上にたくさんあります。また、 Windows PowerShell を使うこともできます。

Advertisement

関連する質問

3
19
10
28
19
Advertisement