はじめに
こんにちは。ちゃばです。
今回はシェルスクリプトの特殊変数についてまとめました。
以前の【Bash】シェルスクリプトのif文(test文)で使用するオプション一覧まとめ【Linux】と同じく備忘録も兼ねています。
シェルスクリプトを書いていると、特殊変数が多数登場します。$0
や$?
といった記号ですね。
これ、シェルスクリプトを初めて書いていた時「なにこれ。。。」と思いました。
特殊変数は直感的に理解しにくいですが、使えるようになるととても便利です。
この記事では、代表的な特殊変数の意味と使い方を表形式でまとめました。
特殊変数とは?
特殊変数はBashなどのシェルにおいて、シェル自体があらかじめ定義している特別な意味を持つ変数のことです。通常の変数と異なり、特定の記号や数字で表現されます。
これらの変数には、スクリプト実行時の様々な情報(スクリプト自身の名前、渡された引数、直前のコマンドの実行結果など)が自動的に格納されます。
ユーザーが定義する変数とは異なり、特殊変数は $ 記号に続けて特定の記号(数字や記号)を記述することで参照できます。
よく使われる特殊変数一覧
それでは、よく使われる特殊変数を具体的に見ていきましょう。
特殊変数 | 説明 |
---|---|
$0 | 実行されたスクリプトの名前 |
$1 ~$9 | スクリプトに渡された引数(1~9番目) |
$# | 渡された引数の数 |
$@ | すべての引数(配列として展開) |
$* | すべての引数(単一文字列として展開) |
$? | 直前のコマンドの終了ステータス |
$$ | 現在のプロセスID |
$! | 最後に実行したバックグラウンドプロセスのPID |
$_ | 直前に実行したコマンドの最後の引数 |
参考
・ChatGPT(6/8生成)
・Google Gemini(6/8生成)
まとめ
今回は、シェルスクリプトにおける特殊変数の種類と使い方について解説しました。
参考になれば幸いです。
シェルスクリプト関連ですが、以前「マスタリングLinuxシェルスクリプト 第2版」という本の感想を書きました。
もし気になる方はチェックしてみてください。
「マスタリングLinuxシェルスクリプト 第2版」書籍レビュー
それではまた次回