Windows 10でBashシェルスクリプトを作成して実行する方法
Windows 10のBashシェルの登場により、Windows 10でBashシェルスクリプトを作成して実行できるようになりました。また、BashコマンドをWindowsバッチファイルまたはPowerShellスクリプトに組み込むこともできます。.
自分のしていることを知っていても、必ずしもそれほど単純ではありません。 WindowsとUNIXでは異なる行末文字が使用され、WindowsファイルシステムはBash環境内の異なる場所からアクセス可能です。.
Windows 10でBashスクリプトを書く方法
Windowsでシェルスクリプトを書くときは、WindowsとLinuxのようなUNIX系システムはシェルスクリプトのテキストファイルで異なる「行末」文字を使うことに注意してください.
言い換えれば、これはあなたが単にメモ帳でシェルスクリプトを書くことができないことを意味します。ファイルをメモ帳に保存すると、Bashでは正しく解釈されません。ただし、より高度なテキストエディタを使用することもできます。たとえば、Notepad ++では、[編集]> [EOL変換]> [UNIX / OSXフォーマット]をクリックして、ファイルにUNIXの行末文字を付けることができます。.
しかし、単にBash環境でシェルスクリプトを書いた方が得策です。 UbuntuベースのBash環境には、viとnanoの両方のテキストエディタが付属しています。 viエディタはより強力ですが、これまで一度も使用したことがない場合は、nanoから始めるとよいでしょう。初めての方が使いやすいです.
たとえば、nanoでbashスクリプトを作成するには、bashで次のコマンドを実行します。
nano〜/ myscript.sh
これにより、ユーザーアカウントのホームディレクトリにある「myscript.sh」という名前のファイルを指すNanoテキストエディタが開きます。 ( "〜"文字はホームディレクトリを表すので、フルパスは/home/username/myscript.shです。)
次の行でシェルスクリプトを起動します。
#!/ bin / bash
実行したいコマンドをそれぞれ独自の行に入力します。スクリプトは各コマンドを順番に実行します。行の前に「#」文字を追加して「コメント」として扱います。これは、あなたや他の人がスクリプトを理解するのに役立ちますが、コマンドとしては実行されません。より高度なテクニックについては、Linux上のBashスクリプトに関するより詳細なガイドを参照してください。 Windows上のUbuntu上のBashでも同じ手法が機能します。.
Bash環境内からWindowsプログラムを実行する方法はないことに注意してください。一般的なLinuxシステムと同じように、Linuxの端末コマンドとユーティリティに制限されています。.
たとえば、ここで例として基本的な「hello world」スクリプトを使用しましょう。
#!/ bin / bash#STRING変数STRING = "Hello World!"を設定します。 #画面に変数の内容を表示するecho $ STRING
ナノテキストエディタを使用している場合は、Ctrl + Oを押してからEnterを押すことでファイルを保存できます。 Ctrl + Xを押してエディタを閉じます.
スクリプトを実行可能にしてから実行する
もっと簡単に実行できるように、スクリプトを実行可能にすることをお勧めします。 Linuxでは、スクリプトファイルに実行権限を付与する必要があります。これを行うには、端末で次のコマンドを実行し、自分のスクリプトをポイントします。
chmod + x〜/ myscript.sh
スクリプトを実行するには、そのパスを入力してターミナルで実行するだけです。将来スクリプトを起動したいときはいつでも、Bashシェルを開いてスクリプトへのパスを入力するだけです。.
〜/ myscript.sh
(スクリプトが現在のディレクトリにある場合は、。/ myscript.shを使用して実行できます)
BashスクリプトでWindowsファイルを操作する方法
スクリプト内のWindowsファイルにアクセスするには、Windowsパスではなく、/ mnt / cの下にパスを指定する必要があります。たとえば、C:\ Users \ Bob \ Downloads \ test.txtファイルを指定したい場合は、/ mnt / c / Users / Boob / Downloads / test.txtパスを指定する必要があります。詳細については、Windows 10のBashシェル内のファイルの場所に関するガイドを参照してください。.
BashコマンドをバッチまたはPowerShellスクリプトに組み込む方法
最後に、コマンドを組み込みたい既存のバッチファイルまたはPowerShellスクリプトがある場合は、次のコマンドを使用してBashコマンドを直接実行できます。 bash -c
コマンド.
たとえば、コマンドプロンプトまたはPowerShellウィンドウでLinuxコマンドを実行するには、次のコマンドを実行できます。
bash -c "コマンド"
このトリックを使用すると、BashコマンドをバッチファイルまたはPowerShellスクリプトに追加できます。 Bashコマンドが実行されているときにBashシェルウィンドウが表示されます。.
更新注:複数のLinux環境がインストールされている場合は、wslconfigコマンドを使用して、実行時に使用されるデフォルトのLinux環境を選択できます。 bash -c
コマンド.
Windows内からBashスクリプトへのショートカットを作成するには、通常どおりにショートカットを作成します。ショートカットのターゲットには、 bash -c
上記で概説したコマンドを作成し、作成したBashスクリプトをポイントします。.
例えば、あなたは「」にショートカットを向けます。 bash -c "〜/ myscript.sh"
上記のスクリプト例を実行します。コマンドプロンプトまたはPowerShellウィンドウからこのコマンドを実行することもできます。.