私はMacユーザーで、Windowsを初めて使います。 Windowsでシェルスクリプトを実行する方法を教えてください。
一般的に、私はテキストファイルを拡張子.sh
で保存し、それをターミナル経由で実行します。しかし、どうすればWindowsでそれができますか?
.sh
接尾辞の付いたスクリプトは通常Bourne Shellスクリプト(またはbash、ksh、またはzsh - すべてBourne Shellから派生したシェル)です。 (MacOSを含むUnixライクなシステムでは、.sh
接尾辞は不要です。OSはスクリプトの先頭にある#!/bin/sh
行を見て実行方法を決定します。)
WindowsはBourneのようなシェルを提供しません。
あなたは Cygwin をインストールすることができます。これはWindowsの下でUnixライクな環境を提供します - しかしそれは特に「ネイティブな」環境を持っていません。 (編集コメント:Cygwinは、Windowsを使用する必要があるが、実際にはUnixを使用するほうがよい私のような人々には最適です。)
Microsoftが提供する MinGW および Windows Services for UNIX パッケージを含む、Windowsで動作する他のUnixライクなサブシステムがあります。
あるいは、Unixライクなシェルスクリプトを書いて実行しようとする代わりに、Windowsバッチファイルを書くことができます。これらは通常.bat
または.cmd
接尾辞を持ちます。 Windowsの対話式コマンドプロンプトと同じコマンドと構文を使用します。
比較的新しい Windows PowerShell もあります。私はそれ自体はなじみがありませんが、それについて良いことを聞いたことがあります。
あなたは Cygwin を使うことができます。それはWindowsでLinuxのような環境を提供します。
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のコンポーネントです(この最後の1つは自由に配布されます)。
Interixの最新リリース5.2および6.0は、Windows 7に含まれているSUA(Unixベースのアプリケーション用サブシステム)バージョン6.1という名前のWindows Server 2003 R2、Windows Vista EnterpriseおよびUltimateエディションおよびWindows Server 2008のコンポーネントです。 EnterpriseおよびUltimate)およびWindows Server 2008 R2(すべてのエディション)
これを行うには、Windows 10用の アニバーサリーアップデート を使用する別の方法があります。 WindowsにBash(Ubuntu)シェルが利用可能になりました。
それを使用するためには、デフォルトでは有効になっていないので機能をインストールする必要があります。
Control Panel
- > Programs
- > Turn Windows Features On and Off
に行きます。
Windows Subsystem for Linux (Beta)
のチェックボックスを選択します。これで機能がインストールされ、再起動を促します。
それからrun - > cmd
でプロンプトを出してからbash
と入力するかrun - > bash.exe
と入力してください。
これにより、仮想マシンやCygwin、または仮想ボックスのないbashシェルが得られます。
ここでの既存の答えはその時点では正しかったが、Windows 10 does は現在オプションで フルbashシェルを実行しているUbuntuの修正版 を含む。
インストールしたら、bashプロンプトを開いて(OS X/macOSの端末のように)通常通りスクリプトを実行できます。
chmod +x myscript.sh
./myscript.sh
Windowsから直接スクリプトを実行したい場合は、同じディレクトリにショートカットを作成し、「ターゲット」を次のように設定します。
C:\Windows\System32\bash.exe -c "./myscript.sh"
スクリプトのパスがショートカットの場所を基準にしている場合(上の例のように)、[開始位置]フィールドも空白になっていることを確認してください。
正しい答えはKenaniahによるコメントで与えられました、あなたは バッチファイル を使わなければなりません。シェルコードファイルに* .batという名前を付ける必要があります。それをクリックするか、単に端末に名前を入力して実行できます。 windows端末はunix端末とまったく同じようには動作しないことに注意してください。あなたはウェブ上でコマンドや構文に関する多くのヘルプとチュートリアルを見つけるでしょう。 Windows PowerShell を使用する可能性もあります。これは、よりunix風のようです。
あなたはCygWinが必要です、そしてそれから私はあなたがただ走ることができるとあなたが思うと思います:
sh yourscript.sh