2009-07-08 74 views
19

cygwinでは、./script.sh argsを実行できますが、これはPowerShellのメモ帳でスクリプトファイルを開きます。Windows PowerShellからbashスクリプトを実行します。

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

+1

Powershellで* nix-ishスクリプトが動作するのはなぜだろうか...全く異なるコマンドセットとスクリプト構文(powershellスクリプトには.ps1拡張AFAIKが必要です)があります。 bashスクリプトを投稿すると、誰かがパワーシェルバージョンであなたを助けることができるかもしれません。 –

+0

のため:それは動作します。受け入れられた答えをご覧ください。 – wsorenson

+2

私は啓発されています:) –

答えて

15

あなたは、あなたが環境変数PATHEXTに拡張.SHを追加する場合は、シェルを実行することができます* NIXish

sh myscriptfile 
+1

sh ./script.shが動作します。 – wsorenson

+9

本当ですか?私は取得する用語 'sh'は、コマンドレット、関数、スクリプトファイル、または操作可能なプログラムの名前として認識されません。 – KCD

+19

受け入れられる答えには、shがバニラPowershellに含まれていないという警告があります。 Gitをインストールする必要がありました.Gitは、Powershellの 'PATH'にいくつかのUNIXツールを追加し、' sh.exe'もその一つです。 – peplin

4

と同等、実行シェル* NIXの引数としてスクリプトを置く必要があります引数だけでスクリプト名を使用してのPowerShellのスクリプト:

PS> .\script.sh args 

あなたのPATH環境変数に含まれているディレクトリにスクリプトを保存する場合、あなたはどこからそれを実行すると、拡張子とパスを省略することができます:

PS> script args 

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

+0

これを行うPowerShell以外のユーザーの場合、PowerShellの 'PATH'変数? –

+1

Powershellは、ほかのすべてのプログラムで使用されているのと同じ環境変数を使用します。Windowsのスタートメニューに「システム環境」と入力すると、環境変数を編集するためのコントロールパネルオプションが表示されます。 – Rynant

11

ありのWindows 10の「ネイティブ」ソリューションは、今あるWindows上でバッシュを有効にした後、あなたがbashを入力してbashシェルを入力することができます。 Bash on Windows

あなたはbash ./script.shのようなbashスクリプトを実行しますが、その心に留めておくことができますCドライブは/mnt/cにあり、外付けハードドライブはマウントできません。したがって、スクリプトを少し変更してWindowsと互換性があるようにする必要があります。 /mntの周りのファイルを移動するとき

はまた、さえrootとして、あなたはまだ許可が拒否されることができますが、/ファイルシステムにあなたの完全なroot力を持っています。

また、シェルスクリプトがUnixスタイルでフォーマットされているか、エラーがある可能性があります。 Example script

関連する問題