0
3

More than 3 years have passed since last update.

シェルとシェルスクリプト

Posted at

シェル環境のカスタマイズ

環境変数とシェル変数

 ユーザー環境はさまざまな変数(環境変数、シェル変数)によって定義されています.環境変数とは、シェル自身またはそこから起動したすべてのプロセスで有効となる変数のことです.シェル変数とは、そのシェル内でのみ有効となります.シェル変数をexportコマンドでエクスポートすることで環境変数に変更できます.また、envコマンドやprintenvコマンドで環境変数を、setコマンドでシェル変数と環境変数を表示できます.

シェルのオプション

構文:set [-o][+o][オプション] -o指定でオプション有効化、+oでオプション無効化

エイリアス

 エイリアス機能(ailiasコマンド)を使うことでコマンドに別名を付けたり、コマンドとオプションをひとまとまりにして新しいコマンドのように扱うことができるようになります.解除するには、unaliasコマンドを使います.

 例)alias ls = 'ls -l'
   ただし、エイリアス機能を使っていても\lsなどと入力すればオプションなしで実行できます.

関数の定義

 functionコマンドを使うことでbashシェル上で利用できる独自の関数を定義できます.

 構文:[function] {関数名}() { コマンド }
    functionは省略可能.{}内には半角スペースが必須.

 定義した関数を表示するには、declare -fコマンド、削除するにはunsetコマンドを使います.

bashの設定ファイル

 シェルの起動と同時に環境変数やエイリアス、関数を自動的に設定するには設定ファイルに記載します.

  • [ ]/etc/profile …ログイン時に実行されます.
  • [ ]/etc/bash.bashrc …bash起動時に実行されます.

シェルスクリプト

シェルスクリプトの基礎

 シェルスクリプトはテキストファイルにコマンドを記述したものです.実行方法は、bash {スクリプトファイル名}source {スクリプトファイル名}、「.」、「chmod a+x {スクリプトファイル名}」とします.

ファイルのチェック

 構文:test {条件文}
    条件文:真であれば0を返し、偽であれば0以外の値を返します.
        -f {ファイル} …ファイルがあれば真
        -d {ディレクトリ} …ディレクトリがあれば真
        数値1 -eq 数値2 …数値1と数値2が等しければ真
        文字列1 = 文字列2 …文字列1と文字列2が等しければ真

制御構造

構文1:
 if 条件式
 then
   実行文1
 else
   実行文2
 fi

構文2:
 case 式 in
  値1)実行文1;;
  値1)実行文1;;
 esac

構文3:
 for 変数名 in 変数に代入する値のリスト
 do
  実行文
 done

 ※seqコマンドを使って、'seq 10 15'などとすることで10,11,12,13,14,15のリストが生成されます.

構文4:
 while 条件文
 do
  実行文
 done

シェルスクリプトの実行環境

 実行するには、スクリプトの先頭で#!/bin/bashと記載しておきます.

0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3