FC2ブログ

【LPIC_102試験】1. シェルスクリプト・環境変数・SQL

1. シェルスクリプト
スクリプト: 機械語への変換を省略し容易に実行できるようにした簡易プログラム
read: キーボードからの標準入力等からデータを読み取り、それを変数に代入するような場合に使用するコマンド
source: スクリプト実行コマンド
declare -f:  定義されているシェル関数を確認マンド(declare:宣言)

 スクリプトファイルの1行目: #!/bin/bash (#!インタープリタ)

インタプリタ

------------------------------------------------------------
  【0. bashシェル起動順序】

  ログインシェル起動
  ↓
  /etc/profile  (全体における環境変数設定ファイル)
  ↓
  ~/.bash_profile  (ユーザ毎の環境設定ファイル)
  ↓
  ~/.bashrc  (ユーザ毎にエイリアス設定ファイル)
  ↓
  /etc/bashrc (全体におけるエイリアス設定ファイル)
  ↓
  bash起動

------------------------------------------------------------

  【1. シェルの特殊変数】
  
  $? : 直前に実行されたコマンドの終了ステータスが設定される
  $n : スクリプトに渡されたn番目の引数が設定される
  $$ : 現在のシェルのpidが設定される
  $# : 実行時に指定された引数の数が設定される


------------------------------------------------------------
 【2. 条件評価】

 ※file1 オプション file2 ⇒ file1がfile2より○○ならば真】

  (1) 数字比較テスト(INT)

  -eq (equal)⇒ =
  -ge (greater than or equal) ⇒ >=
  -gt (greater than) ⇒ >
  -le (less than or equal)⇒ =<
  -lt (less than)⇒ <
  -ne (not equal)⇒ <>  (≠)
  -nt (newer than) ⇒ 新しければ真
  -ot (older than) ⇒ 古ければ真
  -a (and) ⇒ 且つ


  (2) 文字列比較テスト(STR):

   = ⇒ 等しい場合
   != ⇒ 等しくない場合


  (3) テスト論理結合

    ! 条件 : 条件が偽である場合は真
    -a 条件1 条件2 : 条件1と条件2の両方が真であれば真
    -o 条件1 条件2 : 条件1と条件2のどちらかが真であれば真


  (4) ファイル形式テスト

    -f file : fileが存在すれば真
    -d Dir : Dirが存在すれば真
    -r file : fileが存在し、読み込み可能の場合は真 
    -w file : fileが存在し、読み込み可能の場合は真
    -x file : fileが存在し、実行可能の場合は真

------------------------------------------------------------
 【3. case文(条件分岐文)】

  case 条件式 in
    値a )
     処理1 ;;
    値b )
     処理2 ;;
    esac


case文の参考URL


------------------------------------------------------------
 【4. seq文 (単調な増減が連続する場合に使用するコマンド)】
 
  (1) seq 開始値 終了値
  (2) seq 終了値(1から開始)
  (3) seq 開始値 増加値 終了値

 ※例

  #!/bin/bash
   for INT in 10
    do
     echo $INT
    done


seqコマンド
seq: 連続数値生成コマンド。sequence(シーケンス)

------------------------------------------------------------

 【5. if文】

  if test-file -f /tmp
   then
    echo "Find"
   else
    echo "Not Found"
  fi


testコマンド: if 文など条件式を評価

===================================================


■2. 環境変数が置いてあるディレクトリ

 PATH: プログラム
 SHELL: 現在のシェルの起動
 USER: 自分ログインネーム
 HOME: 引数無で cd したときに移動するディレクトリ
 PWD: カレントディレクトリ名


 【1. setコマンド

  set:  シェル変数や環境変数を設定
  unset: シェル変数や環境変数を削除 

  -o:  有効
  +o:  無効

  allexport : 設定した変数が自動的に環境変数としてエクスポート
  ignoreeof : ctrl+del を押してもログアウトしないようにする
  noclobber : リダイレクト「>」「>&」「<>」で既存ファイルを上書き不可とする
  noglob : パス名展開を無効に設定する
  noexec : シェルスクリプトを読み込むが、コマンド実行せず、構文エラーチェックする




  
  ※英単語
  ignore:無視する


===================================================


■3. エイリアス

 エイリアス: コマンドを別名で登録する機能
 unalias: エイリアス削除コマンド
 declare -f: 定義済みのシェル関数確認
 function: 独自関数作成
 set -o noclobber: リダイレクト「>」によるファイルの上書き禁止
 echo、unset、env: シェル変数の主なコマンド 


===================================================

 ■4. SQL


 select: 抽出
 from: DBテーブル指定
 group by: グループ化(集計) (GROUP BY 列名1,列名2)
 order by: ソート (昇順:ASC、降順:DESC)
order by(ソート)参考URL


  【1. SQL関数】

  max: 最大値表示
  min: 最小値表示
  sum: 合計値表示
  avg: 平均値表示
  count: 指定列の行数表示
  LIMIT: 抽出件数


  【2. 列結合(SELECT文+「JOIN」句、「WHERE」句)】

 (1)SELECT 列名 FROM テーブル1 JOIN テーブル2 ON テーブル1.列名 = テーブル2.列名;
 (2)SELECT 列名 FROM テーブル1,テーブル2 WHERE テーブル1.列名 = テーブル2.列名;
関連記事

コメント

非公開コメント

FC2-Counter (Since 2013/8)