2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

echoコマンドのエスケープシーケンスのメモ

Posted at

gitのpre-commitスクリプトを書いている時に出てきた
echo -e $'〇〇'
のような記述が、参考記事によく出てきました。

$'ってなんだ?ってなったので、ちょっと調べてみました。

コンソール上での実行結果

実行結果
$ echo -e 1行目\\n2行目\\n3行目
1行目
2行目
3行目

$ echo -e '1行目\\n2行目\\n3行目'
1行目\n2行目\n3行目

// これがよく見るパターンですかね
$ echo -e $'1行目\\n2行目\\n3行目'
1行目
2行目
3行目

$ echo -e "1行目\\n2行目\\n3行目"
1行目
2行目
3行目

$ echo -e $"1行目\\n2行目\\n3行目"
1行目
2行目
3行目

まとめ

シングルクォーテーション: エスケープせず、そのまま表示する。
それ以外は、エスケープする。

$'~'はエスケープさせるために、$を前につけているんだね!!

ちなみに-eはエスケープを有効にするオプション。
だけどシングルクォーテーションで囲った文字列はそのまま出力される。

よって$をつけるとことでエスケープするようにしているのですね。
文字色とかを設定するために必要になるので。

文字色についてはまた別途実行結果をまとめたいと思います。
まとめないと何が何やらわからんので。。。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?