web-dev-qa-db-ja.com

Windows PowerShellからbashスクリプトを実行する

Cygwinでは、単に./script.sh argsを実行できましたが、これによりPowerShellのメモ帳でスクリプトファイルが開きます。

実行するには何が必要ですか?

34
wsorenson

* NIXishと同等の、実行する* NIXシェルの引数としてスクリプトを配置する必要があります

sh myscriptfile
25
TheBonsai

Windows 10で「ネイティブ」ソリューションが使用できるようになりました。WindowsでBashを有効にした後、bashと入力してBashシェルに入ることができます: Bash on Windows

bash ./script.shのようなBashスクリプトを実行できますが、Cドライブは/mnt/cにあり、外部ハードドライブはマウントできないことに注意してください。したがって、Windowsと互換性があるようにスクリプトを少し変更する必要があるかもしれません。

また、rootとしても、/mntでファイルを移動する際に拒否されたアクセス許可を取得できますが、/ファイルシステムではrootの全機能を利用できます。

また、シェルスクリプトがUnixスタイルでフォーマットされていることを確認してください。フォーマットされていない場合、エラーが発生する可能性があります。 Example script

22
Marius Tancredi

環境変数PATHEXTに拡張子.SHを追加すると、引数付きのスクリプト名のみを使用して、PowerShellからシェルスクリプトを実行できます。

PS> .\script.sh args

PATH環境変数に含まれるディレクトリにスクリプトを保存する場合、どこからでも実行でき、拡張子とパスを省略できます。

PS> script args

注:sh.exeまたは別の* nixシェルを.sh拡張子に関連付ける必要があります。

7
Rynant