Windows10でBashシェルスクリプトを作成して実行する方法

  • Chris Hoffman

    @chrisbhoffman

  • Updated March7,2018,2:31pm EDT

p windows10のBashシェルの登場により、windows10でBashシェルスクリプトを作成して実行できるようになりました。 また、BashコマンドをWindowsバッチファイルまたはPowerShellスクリプトに組み込むこともできます。あなたが何をしているかを知っていても、これは必ずしもそれほど単純ではありません。

WindowsとUNIXは異なる行末文字を使用し、WindowsファイルシステムはBash環境の別の場所でアクセスできます。

Windows10でBashスクリプトを書く方法

関連:Windows10でLinux Bashシェルをインストールして使用する方法

Windowsでシェルスクリプトを書くときは、WindowsやLINUXのようなUNIXライクなシステムでは、シェルスクリプトのテキストファイルで異なる”行末”文字を使用することに注意してください。

広告

言い換えれば、これは単にメモ帳でシェルスクリプトを書くことができないことを意味します。 ファイルをメモ帳に保存すると、Bashによって正しく解釈されません。 たとえば、Notepad++では、Edit>EOL Conversion>UNIX/OSX形式をクリックして、ファイルにUNIXの行末文字を与えることができます。しかし、Bash環境自体でシェルスクリプトを書くだけの方が良いでしょう。 UbuntuベースのBash環境には、viとnanoの両方のテキストエディタが付属しています。 Viエディタはより強力ですが、これまでに使用したことがない場合は、nanoから始めることをお勧めします。 あなたが新しいなら、それは使いやすいです。たとえば、nanoでbashスクリプトを作成するには、bashで次のコマンドを実行します。

nano ~/myscript.sh

これは、”という名前のファイルを指すNanoテキストエディタmyscript.sh”ユーザーアカウントのホームディレクトリにあります。 (“~”文字はホームディレクトリを表しているので、フルパスは/home/username/myscript.sh/p>

シェルスクリプトを次の行で開始します:

#!/bin/bash

関連:シェルスクリプトへの初心者のガイド:基本

広告

実行するコマンドを、それぞれ独自の行に入力します。 スクリプトは各コマンドを順番に実行します。 これは、あなたや他の人がスクリプトを理解するのに役立ちますが、コマンドとして実行されないものです。 より高度なトリックについては、Linux上のBashスクリプトのより詳細なガイドを参照してくださ 同じ手法は、Windows上のUbuntuのBashでも機能します。Bash環境内からWindowsプログラムを実行する方法はないことに注意してください。

Bash環境内からWindowsプログラムを実行する方法はありません。 あなたは、典型的なLinuxシステム上にあるのと同じように、Linuxの端末コマンドとユーティリティに制限されています。

例えば、もうだけで使える基本的な”こんにちは世界の”スクリプトを例としてはこちら

#!/bin/bash # set the STRING variable STRING="Hello World!" # print the contents of the variable on screen echo $STRING

を使用している場合、ナノテキストエディタにて、保存することができますファイルをCtrl+Oとします。 Ctrl+Xキーを押してエディタを閉じます。p>

スクリプトを実行可能にしてから実行します

スクリプトを実行可能にして、より簡単に実行できるようにします。 Linuxでは、スクリプトファイルに実行可能権限を与える必要があることを意味します。 これを行うには、端末で次のコマンドを実行し、スクリプトを指します。

chmod +x ~/myscript.sh

Advertisement

スクリプトを実行するには、パスを入力して端末で実行するだけです。 将来スクリプトを起動したいときはいつでも、Bashシェルを開き、スクリプトへのパスを入力してください。

~/myscript.sh

(スクリプトが現在のディレクトリにある場合は、./myscript.sh関連:WindowsでUbuntu Bashファイル(およびBashのWindowsシステムドライブ)にアクセスする方法

スクリプト内のWindowsファイルにアクセスするには、windowsパスではなく/mnt/c たとえば、Cを指定したい場合は、次のようにします。:\Users\Bob\Downloads\test.txtファイルの場合は、/mnt/c/Users/Bob/Downloads/testを指定する必要があります。txtパス。 詳細については、Windows10のBashシェルのファイルの場所に関するガイドを参照してください。

バッチまたはPowerShellスクリプトにBashコマンドを組み込む方法

関連:Windows10でデフォルトのLinuxディストリビューションを設定する方法

最後に、既存のバッチファイルまたはPowerShellスクリプトを使用してコマンドを組み込む場合は、bash -cコマンドを使用してBashコマンドを直接実行できます。

広告

たとえば、コマンドプロンプトまたはPowerShellウィンドウでLinuxコマンドを実行するには、次のコマンドを実行できます。

bash -c "command"

このトリックバッシュコマンドをバッチファイルまたはPowerShellスクリプトに追加することができます。 Bashコマンドが実行されているときにBashシェルウィンドウが表示されます。更新:複数のLinux環境がインストールされている場合は、wslconfigコマンドを使用して、bash -cコマンドを実行するときに使用されるデフ

Windows内からBashスクリプトへのショートカットを作成するには、通常のようなショートカットを作成します。 ショートカットのターゲットには、上で概説したbash -cコマンドを使用し、作成したBashスクリプトをポイントします。たとえば、上記のスクリプト例を実行するには、ショートカットを”bash -c "~/myscript.sh"“にポイントします。 また、コマンドプロンプトまたはPowerShellウィンドウからこのコマンドを実行することもできます。

Chris Hoffman
Chris Hoffmanはハウツーオタクの編集長です。 彼は十年以上のための技術について書かれており、二年間PCWorldのコラムニストでした。 クリスはニューヨーク-タイムズのために書き、マイアミのNBC6のようなテレビ局の技術の専門家としてインタビューされ、BBCのような報道機関によってカバーされた彼の仕事を持っていた。 2011年以来、クリスはほぼ10億回読まれている2,000以上の記事を書いている—そしてそれはハウツーオタクでちょうどここにあります。完全なバイオを読む”

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です