以“ -e”开头的Bash变量不存储

时间:2019-05-21 09:55:33

标签: bash

我正在尝试将字符串“ -e test”存储在bash变量中。由于某种原因,它从字符串中删除了“ -e”部分。我不知道如何逃避这个问题。

测试脚本:

var="-e test"
echo $var

预期输出:

-e test

实际输出:

test

1 个答案:

答案 0 :(得分:2)

问题是您的变量被扩展为:

echo $var

成为:

echo -e test

-eecho的有效参数。该变量已正确存储,但是您使用它的方式无法正确打印出来。

为确保不会发生类似这样的意外结果,只需在使用变量时在变量周围加上引号即可:

echo "$var"

shell会将其扩展为:

echo "-e test"