シェルスクリプト

2022-05-20 (金) 23:19:50

シェルスクリプト とは

  • シェルが備えているスクリプト言語によるプログラミング機能
  • コマンドライン操作を自動化することができる

設定ファイル

  • マウント
    /etc/fstab

bash

  • ログインシェル(ログイン時に実行)
    • export する変数(環境変数)を設定する
    • 環境変数PATHの設定など
    • 全ユーザ
      /etc/profile
      /etc/profile.d/*.sh
    • ユーザ単位
      ~/.bash_profile
      ~/.bash_login ※~/.bash_profile がない場合に実行
      ~/.profile ※~/.bash_profile と~/.bash_login がない場合に実行
  • bash起動時に実行
    • export しない変数、alias を設定する
    • ウィンドウサイズのチェック、プロンプトの設定など
    • 全ユーザ
      /etc/bash.bashrc ※ディストリビューションによっては存在しない
      /etc/bashrc ※ ~/.bashrc から参照される
    • ユーザ単位
      ~/.bashrc ※対話型シェル起動時に実行される
  • ログアウトシェル(ログインシェル終了時に実行)
    • ユーザ単位
      ~/.bash_logout
  • 実行順(ログインシェル)
    • /etc/profile -> (/etc/bash.bashrc) -> (~/.bash_profile => ~/.bash_login => ~/.profile ) -> ~/.bashrc
  • 実行順(対話型シェル)
    • /.bashrc -> /etc/bashrc

  • 設定の有効範囲
    • /etc ディレクトリ配下の設定ファイルは全ユーザに影響する
    • ./ (ホームディレクトリ)配下の設定ファイルはユーザ毎の設定
  • ログインシェルと対話型シェル
    • ログインシェル
      • ログイン時に起動するシェル
      • psコマンドを実行するとbashが「-bash」と表示される
    • 対話型シェル
      • bashコマンドの入力や、端末エミュレータを実行した時に起動するシェル
      • psコマンドを実行するとbashが「bash」と表示される

zsh

  • ログインシェル(ログイン時に実行)
    • export する変数(環境変数)を設定する
    • 環境変数PATHの設定など
    • 全ユーザ
      /etc/zshrc
    • ユーザ単位
      ~/.zshrc
      ~/.bash_login ※~/.bash_profile がない場合に実行
      ~/.profile ※~/.bash_profile と~/.bash_login がない場合に実行
  • ログアウトシェル(ログインシェル終了時に実行)
    • 全ユーザ
      etc/zlogout
    • ユーザ単位
      .zlogout
  • 実行順(ログインシェル)
    • /etc/zshenv -> ~/.zshenv => /etc/zprofile -> ~/.zprofile => /etc/zshrc -> ~/. zshrc => /etc/zlogin -> ~/.zlogin
  • 実行順(対話型シェル)
    • /etc/zshenv -> ~/.zshenv => ~/. zshrc -> /etc/zshrc

関連サイト

関連用語