拡張子 .sh (シェルスクリプト) とは
Linuxの自動化の要、シェルスクリプト(.sh)の書き方と実行権限(chmod +x)について。
拡張子 .sh (シェルスクリプト) とは
LinuxやMacのターミナルで手打ちしているコマンドを、テキストファイルに順番に書き連ねて一気に実行させるための「台本(スクリプト)」ファイルです。
インフラエンジニアの「作業の自動化(日々のバックアップなど)」の要となる技術であり、最も手軽で強力なプログラムでもあります。
どんな風に書くのか?
以下は、「毎日夜にデータベースをバックアップする」というスクリプトの例です。
#!/bin/bash
# (↑ おまじない:これはbashというシェルで動かしますよという宣言)
echo "バックアップを開始します..."
# 本日の日付を変数に格納
TODAY=$(date "+%Y%m%d")
# コピーコマンドの実行
cp /var/db/master_data.sql /backup/master_data_${TODAY}.sql
echo "バックアップが完了しました!"
実行するには?(chmodの出番)
テキストファイルとして作成した直後の .sh ファイルは、そのままでは「ただの文字の羅列」であり、プログラムとして実行できません(権限が足りないため)。
ここで、Linuxパーミッションの知識(当サイトのchmod変換機)が役立ちます。
- 実行権限(x = Execute)を与える
chmod +x backup.shまたはchmod 755 backup.shを実行します。 - スクリプトを起動する
./backup.shと打ち込むと、ファイルの中に書かれたコマンドが一気に上から順番に実行されます。
関連する用語 (拡張子辞典)
全17件を見るIT用語: .ts(TypeScriptファイル)とは|型安全なJavaScriptのスーパーセット
JavaScriptに静的型付けを加えたTypeScriptの.tsファイルの仕組み・型システム・JavaScriptとの違いを解説。
拡張子 .json (JavaScript Object Notation) とは
Web API通信のデファクトスタンダードであるJSONの構造と、プログラマーに愛される理由。
IT用語: .ini(INIファイル)とは|シンプルな設定ファイルフォーマットの標準
Windowsで普及したシンプルな設定ファイルフォーマットINIの構文・セクション・php.ini等の利用例を解説。
IT用語: .envファイルとは|環境変数を管理する設定ファイルの仕組みと注意点
APIキー・DB接続情報などの環境変数を管理する.envファイルの使い方とGitへのコミット防止策を解説。
IT用語: .toml(TOML形式)とは|人間に読みやすい設定ファイルフォーマット
Rust・Python・Hugo等で使われるTOML(Tom's Obvious, Minimal Language)形式の設定ファイルの仕様を解説。
拡張子 .pem (Privacy Enhanced Mail) とは
SSL/TLS証明書やSSHの秘密鍵として使われる「.pem」ファイルの正体と取り扱い。