前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >解决用cat命令创建文件,变量丢失的问题

解决用cat命令创建文件,变量丢失的问题

原创
作者头像
运维朱工
发布2022-01-04 14:28:52
1.5K0
发布2022-01-04 14:28:52
举报
文章被收录于专栏:云计算教程云计算教程

很多时候,我们已经知道利用cat命令配合重定向可以创建文件,比如这样:

代码语言:txt
复制
[root@www.lutixia.cn ~]# cat > file <<EOF
> this is test file
> EOF
[root@www.lutixia.cn ~]# cat file 
this is test file

但是,在脚本应用中,有时会遇到一些问题。比如,想在脚本中添加变量时,会出现变量不见了(被扩展了),如下:

代码语言:txt
复制
[root@www.lutixia.cn ~]# cat > newfile <<EOF
> this is newfile
> my name is $name
> EOF
[root@www.lutixia.cn ~]# cat newfile 
this is newfile
my name is 

可以看到我们设置的$name变量不见了,原因是没有对name变量赋值,被扩展为空了。

解决方案如下:

代码语言:txt
复制
[root@www.lutixia.cn ~]# cat > newfile <<'EOF'
> this is newfile
> my name is $name
> EOF
[root@www.lutixia.cn ~]# cat newfile 
this is newfile
my name is $name

我们只需要用单引号把EOF文件结束符引起来,就可以抑制变量扩展,进而解决此问题。

以上就是解决cat命令创建文件,变量丢失的详细教程,后续会发布更多硬核技术文章。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档