0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Bashでよく使う記法集

Last updated at Posted at 2021-02-27

本記事の目的

作業自動化用のスクリプトを作成する際によく使う、Bash独自の記法についてまとめる。

シェルスクリプト文法

パラメータ

項目 機能
$? 直前のコマンドの終了ステータスを参照する。0であればTrue、0以外であればFalseの値を意味する。
$# シェルスクリプトやシェル関数の引数の個数を参照する。
$0 起動されたシェルスクリプト名を参照する。
"$@" 全ての位置パラメータをそれぞれダブルクォートで囲んだ状態で展開する。
shift 位置パラメータをシフトする。

リダイレクト

項目 機能
>&2 標準エラー出力にリダイレクトする。
&>/dev/null 標準出力と標準エラー出力を両方破棄する。

評価

項目 機能
[[ ]] 条件式を評価し、その結果によって終了ステータスを返す。test[ ]コマンドと比較して、正規表現や拡張正規表現を使用できる点がメリットである。逆に、shを用いるOS上では使用できないため、互換性に劣る点がデメリットとなる。
(( )) 算術演算を行い、その結果によって終了ステータスを返す。

シェルスクリプト用コマンド

組み込みコマンド

項目 機能
exit シェルスクリプトを終了する。コマンドの後に0を指定すると正常終了、0以外を指定するとエラー終了を意味する。
read -p プロンプトを表示する。
usage() { } コマンドの扱い方を出力する関数。シェルスクリプトでは最初に記載されている事が多い。
getopt 位置パラメータにセットされている、-で始まる1文字オプションを解釈し、最初に見つかったオプション文字の1文字を指定したシェル変数に代入する。この時、シェル変数OPTINDには、次にgetoptsが実行されたときに解釈するべき位置パラメータの番号が代入される。オプション文字の直後にがある場合は、そのオプションが引数を必要とするものと解釈され、その引数はシェル変数OPTARGに代入される。

外部コマンド

項目 機能
awk '{print $1}' 1列目のフィールドを抽出して表示する。
awk -F 区切り文字を指定する。
NF awkコマンドにおける列数を指定する。

感想

BashはUnix系のPC/サーバであれば、自宅/会社/客先問わず様々な環境で共通して使えるため、非常に便利に感じる。今はBashを用いて作業を自動化する事が多いが、Pythonではさらに複雑な処理を自動化できるようになるため、時間ができたらPythonを学習してみたい。

参考文献

0
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?