私はMacユーザーであり、Windowsを初めて使用します。Windowsでシェルスクリプトを実行するにはどうすればよいですか?
通常、テキストファイルに拡張子.sh
を付けて保存し、ターミナル経由で実行します。しかし、Windowsでこれを行うにはどうすればよいですか?
.sh
シェルスクリプトを実行しようとしていますか?または、Windows用のスクリプトの作成方法を知りたいですか?
私はMacユーザーであり、Windowsを初めて使用します。Windowsでシェルスクリプトを実行するにはどうすればよいですか?
通常、テキストファイルに拡張子.sh
を付けて保存し、ターミナル経由で実行します。しかし、Windowsでこれを行うにはどうすればよいですか?
.sh
シェルスクリプトを実行しようとしていますか?または、Windows用のスクリプトの作成方法を知りたいですか?
回答:
.sh
通常、接尾辞が付いたスクリプトはBourneシェルスクリプト(またはbash、ksh、またはzsh-Bourneシェルから派生したすべてのシェル)です。(MacOSを含むUnixライクなシステムでは、.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もあります。私はそれについてよく知りませんが、それについて良いことを聞いたことがあります。
UWINは、David Kornによって作成されたコンピューターソフトウェアパッケージであり、オペレーティングシステムUnix用に作成されたプログラムをMicrosoft Windows上でビルドして実行し、変更はほとんどありません。ソフトウェア開発の一部はインドのウィプロに下請けされました。
このUWINを確認してください-Unix for Windows
UWINの顕著な特徴
UWINの使用
UWINの欠点
そのソフトウェアは、私が大学にいたときにLinux Commandを教えるために使用されました。
参照:WikiPedia
Cygwinは、Microsoft Windows用のUnixライクな環境およびコマンドラインインターフェイスです。
Cygwinは、Windowsベースのアプリケーション、データ、およびその他のシステムリソースと、Unixライクな環境のアプリケーション、ソフトウェアツール、およびデータとのネイティブな統合を提供します。
Interix
Interixは、Services for Unix(SFU)リリース3.0および3.5のコンポーネントです(この最後のものは自由に配布されます)。
Interixの最新リリース5.2および6.0は、Windows Server 2003 R2、Windows Vista EnterpriseおよびUltimateエディションのコンポーネントであり、Windows 7にはSUA(Unixベースアプリケーション用サブシステム)バージョン6.1が含まれています。 EnterpriseおよびUltimate)およびWindows Server 2008 R2(すべてのエディション)
Windows 10のAnniversaryアップデートでこれを行う別の方法があります。WindowsでBash(Ubuntu)シェルを使用できるようになりました。
この機能を使用するには、デフォルトで有効になっていないため、機能をインストールする必要があります。
Control Panel
-> Programs
->に移動しTurn Windows Features On and Off
ます。
のチェックボックスを選択しますWindows Subsystem for Linux (Beta)
。これにより、機能がインストールされ、再起動が求められます。
そして、あなたが実行を介してコマンドプロンプトを開くことができます- > cmd
その後、入力するbash
か、実行- > bash.exe
。
これにより、仮想マシン、Cygwin、またはvirtualboxのないbashシェルが提供されます。
ここでの既存の回答はその時点では正しかったものの、Windows 10にはオプションでフルbashシェルを実行するUbuntuの修正バージョンが含まれています。
インストールしたら、bashプロンプトを開き(OS X / macOSのターミナルを開くのと同じように)、スクリプトを通常どおりに実行できます。
chmod +x myscript.sh
./myscript.sh
Windowsから直接スクリプトを実行する場合、同じディレクトリにショートカットを作成し、「ターゲット」を次のように設定できます。
C:\Windows\System32\bash.exe -c "./myscript.sh"
スクリプトのパスがショートカットの場所に関連している場合(上記の例のように)、[開始]フィールドも空白であることを確認します。
ケナニアによるコメントで正しい答えが出されました。バッチファイルを使用する必要があります。シェルコードファイルに* .batという名前を付ける必要があります。それをクリックするか、単にターミナルにその名前を入力して実行できます。Windowsターミナルは、unixターミナルとまったく同じように機能しないことに注意してください。Web上のコマンドと構文に関する多くのヘルプとチュートリアルがあります。Windows PowerShellを使用する可能性もあります。これは、よりUnixに似ているようです。