作为测试,日常更新部署测试版本,修改配置文件是每天必不可少的一个工作.特别是如果需要更改的配置文件存在于多个文件里,更是繁琐不堪. 找了一下Linux shell脚本里有个sed 命令可以实现这个需求 $OldStr是要被替换的字符串 $NewStr是替换的新字符串 SfileName是修改的文件 sed -i "s/$OldStr/$NewStr/g" $fileName Note:s/和/g是固定格式 例子: sed -i "s/10.203.105.42:5672/10…
1. 配置文件批量注释 1.1 批量注释 ① 进入命令行模式,按ctrl + v进入 visual block模式,键盘上下箭头选中多行,把需要注释的行标记起来 ② 按大写字母I,再输入注释符:# ③ 双击esc键,实现标记行的全部注释 1.2 取消批量注释 ① 进入命令行模式,按ctrl + v进入 visual block模式,键盘上下箭头选中多行,把需要取消注释的行标记起来 ② 单击d键,实现标记行的取消注释 2. shell脚本批量注释 2.1 方法一:采用 :<<! #!/bin/b…
#可以用来修改配置文件参数 # -*- coding:utf-8 -*- import os,sys old = sys.argv[1] new = sys.argv[2] file = sys.argv[3] file2 = sys.argv[3] tmp_file ="tmpfile" f = open(file,"r") f2 = open(tmp_file,"r+") for line in f: if old in line: line…
如果表达式中包含特殊字符,Shell 将会进行替换.例如,在双引号中使用变量就是一种替换,转义字符也是一种替换. 举个例子: #!/bin/bash a=10 echo -e "Value of a is $a \n" 运行结果: Value of a is 10 这里 -e 表示对转义字符进行替换.如果不使用 -e 选项,将会原样输出: Value of a is 10\n 下面的转义字符都可以用在 echo 中: 转义字符 含义 \\ 反斜杠 \a 警报,响铃 \b 退格(删除键)…
通过本文记录学习Linux Shell的一些笔记思考和总结,以加强记忆和理解.主要学习参考资料有: 1.<鸟哥的Linux私房菜-基础篇>第四版 2.菜鸟教程——Linux教程 3.earnxinyminutes——速成bash 4.C语言中文网——Shell教程 一.shell脚本基础 #!/bin/bash # 脚本的第一行叫 shebang,用来告知系统如何执行该脚本: # 参见: http://en.wikipedia.org/wiki/Shebang_(Unix) # 如你所见,注释…
前言 学习shell脚本编程需要的知识储备: vi/vim编辑器命令 vimrc设置要熟练 基础命令,100多个要熟练 基础和常用的网络服务命令要会:nfs . rsync. inotify . lanmp . sersync  .ssh  key 一.shell脚本概念及示例 1.什么是shell Shell是一个命令解释器,它在操作吸引的最外层,负责直接与用户对话,把用户的输入解释给操作系统,并处理各种各样的操作系统的输出结果,输出到屏幕返回给用户.这种对话方式可以是交互的方式(从键盘输入命…
shell脚本学习之6小时搞定(1) 简介 Shell是一种脚本语言,那么,就必须有解释器来执行这些脚本. Unix/Linux上常见的Shell脚本解释器有bash.sh.csh.ksh等,习惯上把它们称作一种Shell.我们常说有多少种Shell,其实说的是Shell脚本解释器. Hello World 打开文本编辑器,新建一个文件test.sh,扩展名为.sh(sh代表shell). 输入一些代码: #!/bin/bash echo "Hello World !" 在命令行运行:…
今天在编写微服务程序启动脚本的时候,遇到一个比较奇葩的问题,下面给出具体描述: 目标:通过读取maven插件打包时生成的pom.properties文件,获取里面的应用名称和应用版本号,然后拼接得到serviceName-version.jar格式的jar包名称,从而通过java -jar -xx..  jarPath的方式启动 遇到的问题:通过shell脚本读取pom.properties文件时,由于其key-value格式分行存储,在linux中获取到的value值最后有一个\r参数(可以通…
Shell脚本 Shell脚本(shell script),是一种为shell编写的脚本程序. 大家所说的shell通常都是指的shell脚本,但其实shell与shell脚本是两个不同的概念.由于习惯的原因,简单期间,就把shell脚本编程叫做shell编程啦. #!是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用的是哪一种Shell. echo命令用于向窗口输出文本. 运行shell脚本的两种方法(test.sh是新建的文件,扩展名为sh,sh代表shell): 作为可执行程…
摘要:第一章介绍unix系统的发展史及软件工具的设计原则.第二章介绍编译语言与脚本语言的区别以及两个相当简单但很实用的Shell脚本程序,涵盖范围包括了命令.选项.参数.Shell变量.echo与printf的输出.基本输入/输出重定向.命令查找.从脚本里访问参数以及执行跟踪等. 第一章 背景知识 概括:这一章介绍unix系统的发展史及软件工具的设计原则. 1.1  unix系统发展史 unix最初是由贝尔电话实验室的计算机科学研究中心开发的.第一版诞生于1970年. 1.2  软件工具设计原则…