rokkonet

PC・Androidソフトウェア・アプリの開発・使い方に関するメモ

echoコマンドでのメタ文字のファイルへの書き込み

2021 Feb. 13.
2021 Feb. 11.

オプション無しのechoコマンの出力をファイルにリダイレクトすると、メタ文字がそのまま書き込まれる。
\t と記述したタブ文字や \n の改行はそのまま \t、\n と書き込まれる。
ファイルをcatコマンドで出力して変数に格納 VAR=$(cat FILE) した場合、その変数を-e オプションを付けたechoコマンドで出力すれば本来のタブ、改行に変換されて表示される。
スクリプト内でタブや改行を変数に格納して使い回すには、この方が使いやすい。

-eオプションを付けたechoコマンドの出力をファイルにリダイレクトすると、メタ文字は本来のものに変換されてファイルに書き込まれる。
\n と記述した改行文字は実際に改行となって書き込まれる。
ファイルをcatコマンドで出力して変数に格納 VAR=$(cat FILE) した場合、変数の内容に改行やタブがそのまま入る。
スクリプト内でタブや改行を変数に格納して使い回すには、使いにくい。

echo "ABC\tXYZ" > FILEPATH
VAR=$(cat FILEPATH)

echo -e "ABC\tXYZ" > FILEPATH
VAR=$(cat FILEPATH)