Unix-shell-substitutions
Unix/Linux-シェル置換
置換とは何ですか?
シェルは、1つ以上の特殊文字を含む式を検出すると、置換を実行します。
例
ここでは、変数の印刷値がその値に置き換えられます。 同時に、 "\ n" は新しい行に置き換えられます-
次の結果が表示されます。 ここで、*-e *オプションは、バックスラッシュエスケープの解釈を有効にします。
以下は -e オプションなしの結果です-
echoコマンドで使用できる次のエスケープシーケンス-
Sr.No. | Escape & Description |
---|---|
1 |
\\ バックスラッシュ |
2 |
\a アラート(BEL) |
3 |
\b バックスペース |
4 |
\c 末尾の改行を抑制する |
5 |
\f フォームフィード |
6 |
\n 改行 |
7 |
\r キャリッジリターン |
8 |
\t 水平タブ |
9 |
\v 垂直タブ |
コマンド置換
コマンド置換は、シェルが特定のコマンドセットを実行し、コマンドの代わりにそれらの出力を置換するメカニズムです。
構文
コマンドの置換は、コマンドが次のように指定されたときに実行されます-
コマンド置換を実行するときは、単一引用符ではなく逆引用符を使用してください。
例
コマンド置換は通常、コマンドの出力を変数に割り当てるために使用されます。 次の例のそれぞれは、コマンドの置換を示しています-
実行すると、次の結果が表示されます-
可変置換
変数置換により、シェルプログラマーは、状態に基づいて変数の値を操作できます。
これはすべての可能な置換のための次の表です-
Sr.No. | Form & Description |
---|---|
1 |
${var} _var_の値を置き換えます。 |
2 |
$\{var:-word} _var_がnullまたは未設定の場合、 var の代わりに_word_が使用されます。 _var_の値は変更されません。 |
3 |
$\{var:=word} _var_がヌルまたは未設定の場合、_var_は word の値に設定されます。 |
4 |
$\{var:?message} _var_がnullまたは未設定の場合、_message_は標準エラーに出力されます。 これにより、変数が正しく設定されていることが確認されます。 |
5 |
$\{var:PLUSword} _var_が設定されている場合、_word_がvarに置き換えられます。 _var_の値は変更されません。 |
例
以下は、上記の置換のさまざまな状態を示す例です-
実行すると、次の結果が表示されます-