Linux 中的 =~ 是什么意思,用于 if 条件比较值

Linux 中的 =~ 是什么意思,用于 if 条件比较值

实际上tomcat/conf/catalina.properties文件包含行,shared.loader=/usr/share/sfit/conf我的意思是值有一些路径。

因此,我们使用 shell 脚本来更新shared.loader文件中的值。此外,还有一个 if 条件,用于比较值,如下所示

if [ $string1 =~ $string2 ] ; then

这里=~是什么意思。

并且我还想从行“shared.loader=”中删除其后包含的值shared.loader=

请帮帮我吧

答案1

尝试一下:

sed -ie 's,^shared.loader=\(.*\)value_to_remove\(.*\),shared.loader=\1\2,' tomcat/conf/catalina.properties

解释:

  • “-i” 表示“替换文件内容”。测试时必须省略!
  • “-e” 表示“表达式应用于每一行”。此处为可选项。
  • “s,mask,newval,” 表示“搜索并替换”。
  • \1被替换为第一部分的内容(.*),被替换\2为第二部分的内容(.*)

相关内容