コンテンツへスキップ

bashでダブルクォーテーションとかエスケープあたりをまとめてみる

クォーテーションの話はLPIC1でよく見たものの忘れがちなので改めてまとめてみる。

エスケープ

エスケープとは特殊文字の機能を無効にすること。

シングルクォーテーション

''に囲まれた文字列は全て文字列のままとして扱われる。
例えば、下記は変数が展開されない 

TEST=test
echo '$TEST'
$TEST

ダブルクォーテーション

””に囲まれた文字列は一部を除いて文字列として扱われる
一部とは、$  [\]バックスラッシュ [‘]バッククォート のこと。
例えば、下記は変数が展開される。

TEST=test
echo "$TEST"
test

バッククォーテーション

``に囲まれた文字列をコマンドとして実行できる。

ls
test1 test2
TEST=ls
echo `$TEST`
test1 test2
lsを予めバッククォートにいれても可能
TEST=`ls`
echo $TEST
test1 test2

まとめ

シングルクォーテーションは全て文字列に入れておくことを前提に、
変数を展開しつつ各文字列を一つにしたいならダブルクォーテーション、
コマンドを利用したいならバッククォーテーションと覚える。

おまけ
一文字だけをエスケープしたい場合、[\]バックスラッシュをつける

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です