【Linux】シェルスクリプトの基本チートシート - j-komatsu/myCheatSheet GitHub Wiki

シェルスクリプトの基本チートシート

目的

シェルスクリプトを利用して、日々のタスクを自動化・効率化する基本的な構文や操作を紹介します。


インデックス

  1. シェル変数の基本操作
  2. 文字列操作
  3. 条件分岐 (if文)
  4. ループ (for, while, until)
  5. 関数の定義と使用
  6. 引数の処理
  7. 標準入力・出力・エラーリダイレクト
  8. パイプとプロセス置換
  9. コマンドの実行結果を変数に格納
  10. ファイルの存在確認と操作

1. シェル変数の基本操作

  • 目的: シェルスクリプトで変数を定義し、値を格納・参照する。
  • 構文:
    variable_name=value
    echo $variable_name
    
  • 使用例: USERNAME 変数にユーザー名を格納して表示。

2. 文字列操作

  • 目的: 文字列を結合・分割・部分抽出する。
  • 構文:
    str="Hello, World!"
    echo ${str:7:5}  # 部分抽出
    
  • 使用例: 文字列の一部を切り出して表示。

3. 条件分岐 (if文)

  • 目的: 条件に応じて異なる処理を実行する。
  • 構文:
    if [ condition ]; then
      # 処理
    fi
    
  • 使用例: ファイルが存在するか確認して処理を分岐。

4. ループ (for, while, until)

  • 目的: 繰り返し処理を行う。
  • 構文:
    for i in 1 2 3; do
      echo $i
    done
    
  • 使用例: 数値のリストをループで表示。

5. 関数の定義と使用

  • 目的: 再利用可能なコードブロックを定義する。
  • 構文:
    my_function() {
      echo "This is a function"
    }
    my_function
    
  • 使用例: 簡単な関数を定義して実行。

6. 引数の処理

  • 目的: スクリプトに渡された引数を処理する。
  • 構文:
    echo $1  # 最初の引数
    echo $2  # 2番目の引数
    
  • 使用例: スクリプトに引数を渡して表示。

7. 標準入力・出力・エラーリダイレクト

  • 目的: 入力や出力のリダイレクト、エラー処理を行う。
  • 構文:
    command > output.txt  # 標準出力をファイルにリダイレクト
    command 2> error.txt  # 標準エラーをファイルにリダイレクト
    
  • 使用例: コマンドの結果をファイルに保存。

8. パイプとプロセス置換

  • 目的: コマンドの出力を別のコマンドの入力として処理する。
  • 構文:
    ls -l | grep 'pattern'
    
  • 使用例: lsの結果をgrepでフィルタリング。

9. コマンドの実行結果を変数に格納

  • 目的: コマンドの出力を変数に格納して利用する。
  • 構文:
    result=$(command)
    echo $result
    
  • 使用例: dateコマンドの出力を変数に格納して表示。

10. ファイルの存在確認と操作

  • 目的: ファイルが存在するか確認し、操作を実行する。
  • 構文:
    if [ -e filename ]; then
      echo "File exists"
    fi
    
  • 使用例: 指定したファイルが存在するか確認。