linux的echo命令使用变量。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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错误。

参考技术A 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

参考技术B 引号前加上转义符
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

本回答被提问者采纳
参考技术C 不知道解决了没,不用那么麻烦,用拼接的方式就可以了:
例如:
echo '这是'$a'测试---------------'

以上是关于linux的echo命令使用变量。的主要内容,如果未能解决你的问题,请参考以下文章

Linux echo命令和查看环境变量实例

linux环境变量的设置

Linux常见命令

Linux常见命令

阿里云开发者体验平台 - Linux命令 - 常用系统管理

阿里云开发者体验平台 - Linux命令 - 常用系统管理