linux的echo命令使用变量。

我想让echo命令生成a.txt文件。有一个变量a。
a=`date`
echo "$a" >a.txt
此时,a.txt的内容为:Thu Dec 27 11:01:09 CST 2018
但是我想让a.txt的内容为:"Thu Dec 27 11:01:09 CST 2018",怎么才能把双引号加上去呢?
我试过 echo "`$a`" >a.txt,结果出现-ash: Thu: not found错误。

第1个回答  2018-12-27
echo " \" `$a` \" " >a.txt
这样就可以了。追问

谢谢您,的确是成功了。但是我高估了自己的水平。问题没有得到解决。可以麻烦您给我看一看代码吗?
echo -e '"address": "$ip",\n"port": $port,\n "users": [\n{\n"id": "$uuid",\n"alterId": $id,\n"security": "none",\n"level": 0\n}\n]' >v2.txt

追答

你需要实现什么功能呢

追问

4个变量,"$ip"有双引号,"$uuid"有双引号,$id和$port无双引号
echo -e '"address": "$ip",\n"port": $port,\n "users": [\n{\n"id": "$uuid",\n"alterId": $id,\n"security": "none",\n"level": 0\n}\n]' >v2.txt

4个变量,"$ip"有双引号,"$uuid"有双引号,$id和$port无双引号
echo -e '"address": "$ip",\n"port": $port,\n "users": [\n{\n"id": "$uuid",\n"alterId": $id,\n"security": "none",\n"level": 0\n}\n]' >v2.txt

第2个回答  2018-12-27
引号前加上转义符
echo "\"$a\""追问

我太天真了,按照您说的方法,的确是解决了问题。但是真实的情况比这个复杂多了,没有成功。您介意我发完整代码给您帮我分析一下么?

追答

可以

追问

4个变量,"$ip"有双引号,"$uuid"有双引号,$id和$port无双引号
echo -e '"address": "$ip",\n"port": $port,\n "users": [\n{\n"id": "$uuid",\n"alterId": $id,\n"security": "none",\n"level": 0\n}\n]' >v2.txt

追答

是这个意思?
echo -e '"address": "'$ip'",\n"port": '$port',\n "users": [\n{\n"id": "'$uuid'",\n"alterId": '$id',\n"security": "none",\n"level": 0\n}\n]' >v2.txt

本回答被提问者采纳
第3个回答  2020-03-20
不知道解决了没,不用那么麻烦,用拼接的方式就可以了:
例如:
echo '这是'$a'测试---------------'
相似回答