8ttyan’s blog

コンピュータ関係の小ネタ

bash上のエスケープ

プログラム上で制御文字として扱われる文字を出力するためには、それをエスケープする(制御文字として機能させない)ことが必要。
bashの場合のメモ。

#!/bin/bash
name="snoopy"
echo "My name is ${name}"  # ダブルクオーテーション(”)の中に書いた変数は変数の中身が表示される
echo 'My name is ${name}'   # シングルクオーテーション(’)の中に書いた変数は展開されないので、そのまま${name} と表示されてしまう。
echo "\$name は変数を意味する"      # ダブルクオーテーションの中であっても、バックスラッシュ(\)を前に付ければ$マークなどがそのまま出力される

実行結果

My name is snoopy
My name is ${name}
$name は変数を意味する