shell中变量的使用:sed命令中使用变量

概要:

shell中变量如何使用,更准确来说,是shell命令中shell变量如何保留原有的值,一直是一个有趣的问题。

这里侧重 sed 命令中变量的使用。

有几种方法可以实现,个人推荐eval 的方式,改动较小。

扩展阅读

sed命令中使用变量

https://blog.csdn.net/sinat_34241861/article/details/122205299

# sed命令中使用变量

![image](https://upload-images.jianshu.io/upload_images/1079652-d0afc7c34e875d16.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)



在sed命令中使用变量的三种方式

方式1: 使用单引号,变量处使用单引号+双引号把变量包括起来

#!/bin/bash

name=tomas

sed -i 's/rose/'"${name}"'/g' b.txt


方式2: 使用双引号,变量直接引用即可

#!/bin/bash

name=tomas

sed -i "s/rose/${name}/g" name.txt



方式3: 使用单引号,变量直接引用,但是需要通过 eval 执行这个sed命令。eval会对后面Shell命令进行两遍扫描,如果第一遍扫描后,Shell命令是个普通命令,则执行此命令;如果Shell命令是含有变量的间接引用,则保证间接引用的语义

#!/bin/bash

name=tomas

eval sed -i 's/rose/${name}/g' name.txt
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容