我正在尝试将字符串“ -e test”存储在bash变量中。由于某种原因,它从字符串中删除了“ -e”部分。我不知道如何逃避这个问题。
测试脚本:
var="-e test"
echo $var
预期输出:
-e test
实际输出:
test
答案 0 :(得分:2)
问题是您的变量被扩展为:
echo $var
成为:
echo -e test
-e
是echo
的有效参数。该变量已正确存储,但是您使用它的方式无法正确打印出来。
为确保不会发生类似这样的意外结果,只需在使用变量时在变量周围加上引号即可:
echo "$var"
shell会将其扩展为:
echo "-e test"