1.メタキャラクタとは
bash等のシェルで使用すると単なる文字としてではなく、特別な意味で解釈される記号のこと。正規表現とともに覚えることで入力効率等が向上するが、正しく使わないと思わぬ挙動やエラーの原因にもなるため、正確に使うことが重要となる。
2.メタキャラクタ一覧
(1)ファイルパス系
記号 | 意味 |
. | カレントディレクトリ |
.. | 親ディレクトリ |
~ | ホームディレクトリ |
(2)リダイレクト系
記号 | 意味 |
> | 出力(新規作成or上書き保存) |
>> | 出力(新規作成or追記保存) |
< | 入力 |
<< | ヒアドキュメント |
2> | エラー出力(新規作成or上書き保存) |
2>> | エラー出力(新規作成or追記保存) |
&> | 出力とエラー出力 |
(3)引用符系
記号 | 意味 |
” | 特殊文字や変数展開を防ぐ |
“” | 空白を含む文字列の扱い |
“ | コマンドの実行結果を取得 |
(4)コマンド実行系
記号 | 意味 |
| | 前のコマンドの結果を次のコマンドへ送って実行 |
; | 順にすべて実行(成功・失敗に関係なく) |
&& | 前のコマンドが成功したら次を実行 |
|| | 前のコマンドが失敗したら次を実行 |
& | コマンドをバックグラウンドで実行 |
(5)ワイルドカード・正規表現
記号・正規表現 | 意味 |
* | 0文字以上の任意の文字列に一致 |
? | 任意の1文字に一致 |
[abc] | a または b または c に一致 |
[a-z] | 範囲指定:a から z のいずれかに一致 |
[^abc] | a , b , c 以外の1文字に一致(否定) |
{a,b,c} | a , b , c のどれかに一致(ブレース展開) |
(6)その他
記号 | 意味 |
$ | $に続く文字列を変数にする |
! | コマンド履歴の操作・再実行 |
\(バックスラッシュ) | エスケープシーケンス |