-e
Bash 4で変数に割り当てようとしています。しかし、変数はまだ空です。
たとえば、
$ var="-e"
$ echo $var
$ var='-e'
$ echo $var
$ var="-t"
$ echo $var
-t
なぜ動作します-t
が、動作しませんか-e
?
ベストアンサー1
動作しますが、echo -e
両方のオプションを有効にしないと、Bashで実行すると何も出力されません。これはオプションとして解釈されます。posix
xpg_echo
-e
$ help echo
echo: echo [-neE] [arg ...]
Write arguments to the standard output.
Display the ARGs, separated by a single space character and followed by a
newline, on the standard output.
Options:
-n do not append a newline
-e enable interpretation of the following backslash escapes
-E explicitly suppress interpretation of backslash escapes
使用
printf "%s\n" "$var"
代わりに。
コメントで指摘したように、Bash declare -p var
(typeset -p var
ksh、zsh、yash(bashを含む))を使用して、変数の正確な型と内容を知ることができます。