macOSでシェルスクリプト(.sh)を実行する方法

macOS でシェルスクリプトを実行するには、ターミナルを開き、ファイルを含むフォルダに移動して.sh、インタープリタで実行します。たとえば、 は、bash hello.sh権限を変更せずに Bash スクリプトを実行します。コマンドとして起動する場合は、 で実行可能にしてから をchmod +x hello.sh実行します./hello.sh。これらの方法は、現在の macOS リリースで動作します。

スクリプトを実行する前に確認してください。

シェルスクリプトは、コマンドを含むプレーンテキストファイルです。これらのコマンドはユーザーアカウントの権限で実行されるため、スクリプトはファイルの編集や削除、ソフトウェアのインストール、ネットワーク経由でのデータ送信などを行うことができます。受け取ったスクリプトは、実行する前に必ず内容を確認してください。特に、管理者パスワードを要求したり、`/etc/script` を使用したりする場合はsudo注意が必要です。信頼できるソースからのスクリプトのみを実行してください。ファイルの権限を変更しても、その内容が安全になるわけではありません。

AppleはシェルスクリプトをUNIXコマンドを含むテキストファイルと定義し、シェバンによってスクリプトを実行するシェルを選択する方法を説明しています。詳しくは、Appleのターミナルガイドにあるシェルスクリプトに関する説明をご覧ください。

Bashで.shスクリプトを実行する

これはBashスクリプトを実行する最も簡単な方法です。事前に実行権限を追加する必要はありません。

  1. スクリプトを作成または見つけます。シェルスクリプトは、任意のプレーンテキストエディタで記述できます。簡単なテストを行うには、TextEditを開き、「書式」>「プレーンテキストにする」を選択して、次の2行を入力します。
#!/bin/bash
echo "Hello from macOS"

ファイルを として保存しますhello.sh。保存ダイアログで、ファイル名が で終わっていること.sh、および TextEdit が を追加していないことを確認してください.txt。最初の行はシェバンです。これは、スクリプトが直接起動されたときに、インタープリタとして Bash を識別します。2 行目には短いメッセージが出力されます。

TextEditのプレーンテキストモードで、Bashのシェバンとechoコマンドを含むhello.shを表示している。
サンプルファイルhello.shには、シェバンに続いてテキストを出力するコマンドが含まれています。
  1. ターミナルを開き、ファイルのフォルダに移動します。Command + Space を押して、Terminal と入力し、Return キーを押します。ファイルをダウンロードフォルダに保存した場合は、次のように入力します。
cd ~/Downloads

各コマンドの後に Enter キーを押してください。 と入力するlsとファイルの一覧が表示され、 がhello.sh存在することを確認できます。Downloads実際に使用したフォルダーに移動してください。フォルダー名またはファイル名にスペースが含まれている場合は、パスを引用符で囲んでください(例: cd "$HOME/My Scripts")。

ディレクトリを変更した後、ダウンロードフォルダ内のターミナルでhello.shを一覧表示する
cdコマンドを使ってスクリプトが入っているフォルダを開き、lsコマンドでフォルダ名を確認してください。
  1. Bashでスクリプトを実行します。スクリプト名をコロンの後に入力してくださいbash。
bash hello.sh

ターミナルには と表示されるはずですHello from macOS。スクリプトが Bash ではなく Zsh 構文を使用している場合は、 を実行してくださいzsh hello.sh。ターミナルで対話的に開くシェルは通常 Zsh ですが、すべてのスクリプトを Zsh で実行する必要があるという意味ではありません。スクリプトが記述されたインタプリタを使用してください。スクリプトの shebang には、そのインタプリタが示されることがよくあります。

スクリプトを実行可能ファイルとして実行する

スクリプトはパスを指定して直接起動することもできます。これは、小さなコマンドのように実行したい場合に便利です。Appleのターミナルでファイルを実行可能にするための手順では、この手順を使用しますchmod。

  1. 実行権限を付与します。同じターミナルウィンドウとフォルダで、以下を実行します。
chmod +x hello.sh

これにより、このファイルに実行権限が追加されます。権限を後でリセットしない限り、この変更は一度限りです。必要以上に広い権限設定は避けてください。chmod +x個人用のスクリプトであれば、現在の設定で十分です。

ターミナルに、hello.shに対してchmodとxが適用されたことを示す表示がある。
chmod +x コマンドは、hello.sh を実行可能ファイルとしてマークします。
  1. 現在のフォルダから起動します。入力:
./hello.sh

./は、シェルに現在のディレクトリでファイルを実行するように指示します。これがないと、シェルは通常、現在のフォルダではなく、にリストされているフォルダを検索します。PATH別の場所にいる場合は、を使用してcdスクリプトのフォルダに戻るか、たとえば、のフルパスを入力してください~/Downloads/hello.sh。

ターミナルで./hello.shを実行し、「Hello from macOS」と表示しています。
./hello.shを実行すると、実行可能スクリプトが起動し、その出力が表示されます。

よくあるエラーとその解決策

  • ./hello.sh:を使用した後に「アクセスが拒否されました」と表示される場合は、ファイル名を確認してから を実行してくださいchmod +x hello.sh。または、bash hello.shBash スクリプトで直接実行する必要がない場合は を使用してください。
  • 「そのようなファイルまたはディレクトリはありません」:でフォルダを確認しpwd、でその内容を一覧表示しls、スペルと大文字小文字をチェックします。ファイル名が実際にはでないことを確認してくださいhello.sh.txt。
  • スクリプト内で「コマンドが見つかりません」というエラーが表示される場合:スクリプトが依存しているユーティリティが不足しているか、またはインストールされていない可能性がありますPATH。何かをインストールする前に、スクリプトのドキュメントを確認してください。
  • 「不正なインタプリタ」または「^M最初の行が利用できないインタプリタを指しているか、ファイルがWindowsスタイルの改行コードを使用している可能性があります。シェバンを確認し、Unix(LF)改行コードでファイルを保存してください。」というエラーメッセージが表示される場合があります。

どの方法を使うべきでしょうか?

bash hello.shこれがBashスクリプトであることがわかっている場合は、すぐに実行するためにこれを使用します。直接起動して、スクリプトのシェバンにインタープリタを選択させたい場合は、chmod +x hello.shの後にを使用します./hello.sh。どちらの方法も、不足している依存関係をインストールしたり、互換性のないコマンドを修正したり、スクリプトが信頼できるかどうかを検証したりするものではありません。

コメントを残す

Macでアプリを強制終了する方法:アプリを素早く閉じる5つの方法

Macでアプリを強制終了する方法:アプリを素早く閉じる5つの方法

応答しないMacアプリを強制終了するには、Option+Command+Escキーを押すか、Appleメニュー、Dock、アクティビティモニタ、またはターミナルからアプリを閉じます。

Macで分割画面を使用する方法:2つのアプリを並べて表示する

Macで分割画面を使用する方法:2つのアプリを並べて表示する

Split Viewの設定方法、ペインのサイズ変更や置換方法、Mission Controlの使い方、そしてMacでデスクトップウィンドウのタイル表示がより適している場面について学びましょう。

macOSで写真からEXIFデータを削除する方法

macOSで写真からEXIFデータを削除する方法

macOSで写真からEXIFデータを削除する方法、写真アプリで位置情報を隠す方法、ExifToolを使用してエクスポートしたJPEGコピーをクリーンアップする方法、そして結果を確認する方法を学びましょう。

Macで2つのフォルダを安全に同期する方法

Macで2つのフォルダを安全に同期する方法

SyncTwoFoldersを使えば、Mac上の2つのフォルダを同期できます。一方向または双方向の更新を選択でき、ファイルの置換や削除を行う前に変更内容をプレビューできます。

MacでTumblrブログをバックアップする方法

MacでTumblrブログをバックアップする方法

Tumblrのウェブエクスポート機能を使って、Mac上でTumblrブログをバックアップしましょう。ZIPファイルをダウンロードして解凍すれば、投稿やメディアを安全に保存でき、アーカイブに含まれないデータも確認できます。

MacのデスクトップでGoogleマップを使用する方法

MacのデスクトップでGoogleマップを使用する方法

MacのSafariまたはChromeでGoogleマップを使用し、場所やルートを検索したり、マップレイヤーを切り替えたり、macOS Sonoma 14以降でSafariウェブアプリをDockに追加したりできます。

WindowsとmacOS向けの無料WAVからMP3への変換ソフトベスト5

WindowsとmacOS向けの無料WAVからMP3への変換ソフトベスト5

WindowsとmacOSに対応した無料のWAVからMP3への変換ソフト5つを比較します。オンラインファイル数の制限、ローカルバッチツール、実用的なエクスポート設定などについても解説します。

WindowsとMacでマウスを使わずに右クリックする方法

WindowsとMacでマウスを使わずに右クリックする方法

WindowsとMacでコンテキストメニューを開くためのキーボードショートカットとアクセシビリティ機能(マウスキーやMacのコンテキストメニューキーなど)を学びましょう。

Windows向けおすすめファイルマネージャー:ファイルエクスプローラーの代替となる5つのツール

Windows向けおすすめファイルマネージャー:ファイルエクスプローラーの代替となる5つのツール

無料のQ-DirやFilesから、デュアルペイン表示や上級者向けツールまで、5つのWindowsファイルマネージャーを比較し、ファイルのコピー、並べ替え、整理に最適なものを見つけましょう。

macOSのFinderに位置情報バーを追加する方法

macOSのFinderに位置情報バーを追加する方法

Finderのクリック可能なパスバーを表示したり、ターミナル設定を使用してウィンドウタイトルに完全なフォルダパスを表示したり、macOSの組み込みコマンドを使用してパスをコピーしたりできます。