shell脚本中用法_遇到的坑

这篇具有很好参考价值的文章主要介绍了shell脚本中用法_遇到的坑。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  1. propertis文件中,取等号右边,并去掉空格:
    例如server.port = 8080,要取8080
   machineIp=`cat config.properties | grep "server.port" | awk -F "=" '{print $2}' | awk '{gsub(/^\s+|\s+$/, "");print}'`
  1. 取出(后面的内容
processTemp=${processStr#*(}

具体用法参见:
https://blog.csdn.net/JineD/article/details/124196546

  1. 取出包含off内容的行号,head -1是只取出第一个包含off的行数
row=`cat nginx.conf | grep -n "off" | awk -F ":" '{print $1}' | head -1`
  1. 取出这一行中的数据
offInfo=`head -$row nginx.conf | tail -n 1`

给这一行中的数据去除空格

echo $offInfo | awk '{gsub(/^\s+|\s+$/, "");print}' > $1/install.log 2>&1
  1. 在${row}这一行添加# off(会替换原有内容)
sed -i "${row}c # off" $2/conf/nginx.conf
  1. 在第i行内容前面加上"#"
sed -i "$i{s/^/#/}" /conf/nginx.conf
  1. 第一个字符是否为"#"(cut -c -1表示取第一个字符),如果为#,则返回值为#,否则为空
cut -c -1  $SH_PATH/install.log | grep -w '#'
  1. 如果即将要被插入的参数中包含"/"(即为路径格式),则需要进行转义:
	new_sed=$(echo $3 | sed -e 's/\//\\\//g')
	

f i l e 中的 n e e d I n s e r t 全都替换成 file中的needInsert全都替换成 file中的needInsert全都替换成{new_sed}文章来源地址https://www.toymoban.com/news/detail-424507.html

sed -i "s/needInsert/${new_sed}/g" $file
  1. 在${insertNeedModifyRow}后面一行加入- test.log这个内容,并且前面还有空格。空格用""开始,光敲空格,插入的时候是不会有空格的
    a表示在这一行后面插入,i表示在这一行前面插入
sed -i "${insertNeedModifyRow}a      \    - test.log" $1
  1. uniq表示去除同一个文件里重复的内容(只有相邻的才能去重,不相邻的是不能去重的)
uniq filebeat.yml > $SH_PATH/output.txt
  1. (1)插入的内容中,如果包含传参,则使用单引号’'将参数包裹,否则传参将会作为字符串插进去
    (2)将test.sh这个脚本中以curl开头的字符串替换成后面的一串
    其中c\表示将当前sed查找到的一行全部替换成我们指定的TEXT
sed -i '/curl*/c\curl http://'$ip':'$port'/${time} -X DELETE' test.sh
  1. 统计install.log中包含running的行数,其中wc -l表示统计行数
count=`grep -o 'running' $SH_PATH/install.log | wc -l`
  1. 识别用户输入了啥,-p表示设置提示信息
read -p "现在需要你输入,输入Y/N:" result
echo "你输入的为: $result"

到了这里,关于shell脚本中用法_遇到的坑的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • linux和windows上执行shell脚本遇到了$‘\r‘: command not found

    启动命令在shell脚本里面,启动时遇到了$\\\'r\\\': command not found错误。 奇怪的是在测试环境的linux服务器上并没有这个问题。 解决方法:用vi/vim打开脚本,设置文件格式为unix。 其中ff是fileformat的简写。 ps: 如果想设置为windows格式,则:set ff=dos 总结: 设置文件格式 windows格式

    2024年02月16日
    浏览(39)
  • Unity使用Gradle打包方式接入Firebase时配置文件google-services.json遇到的坑

    1、首先在mainTemplate.gradle最上引入 ‘’com.google.gms.google-services’ 如下图: 2、在mainTemplate.gradle添加任务,将下载下来的google-services.json复制到gradle项目根目录下 如下图: 将你原始文件 google-services.json 中的 package_name 的属性值 改为 com.unity3d.player 如下图:

    2024年02月11日
    浏览(48)
  • Shell脚本编程实践——第3关:使用Shell脚本创建文件目录

    任务描述 本关任务:设计一个Shell程序,在/home目录下建立一个userdata目录,在userdata目录下再建立5个目录,即user1~user5,并设置每个目录的权限,其中其他用户的权限为:读;文件所有者的权限为:读、写、执行;文件所有者所在组的权限为:读、执行。 相关知识 为了完成

    2023年04月22日
    浏览(46)
  • android 运行shell 脚本文件或shell命令

    android 运行shell 脚本文件或shell命令 一.运行shell脚本文件 1.test.sh文件内容 #!/bin/bash echo \\\"I am a script\\\" ps 2.将shell文件拷贝到Android设备目录 3.执行脚本文件 Runtime.getRuntime().exec(\\\"sh /sdcard/lilei/test.sh\\\"); 注: 应用需要有存储访问权限,如果shell文件中有文件访问请用绝对路径,否则访问

    2024年03月12日
    浏览(63)
  • Shell脚本常用命令及如何通过shell脚本实现服务器上文件的上传和下载

    Shell脚本常用命令 简介 1、什么是shell: Shell 是一个用 C 语言编写的应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。Shell 脚本(shell script),是一种为 shell 编写的脚本程序,扩展名为.sh。 2、如何编写shell脚本: 文本编辑器(可以使用

    2024年02月03日
    浏览(73)
  • 33. 常用shell之 scp - 安全复制文件 的用法和衍生用法

    scp (secure copy)是一个基于 SSH (Secure Shell) 协议的命令行工具,用于在本地和远程主机之间安全地复制文件。它利用 SSH 提供的加密和身份验证功能,确保在传输过程中数据的安全性。 基本用法 从本地复制到远程服务器 : scp /path/to/localfile username@remotehost:/path/to/remotefile 这个命

    2024年02月01日
    浏览(35)
  • shell批量执行命令与文件传输脚本

    对未进行主机信任操作的服务器进行批量操作 由于ssh只能在交互模式中输入服务器密码进行登录登操作,不便于进行大批量服务器进行巡检或日志采集。sshpass恰好又解决了这个问题,使用 ssh -p passwd 可以实现命令行输入密码操作,便于进行规模巡检 首先需要在脚本执行机器

    2024年02月08日
    浏览(47)
  • BASH shell脚本篇5——文件处理

     这篇文章介绍下BASH shell中的文件处理。之前有介绍过shell的其它命令,请参考: BASH shell脚本篇1——基本命令 BASH shell脚本篇2——条件命令 BASH shell脚本篇3——字符串处理 BASH shell脚本篇4——函数 在Bash Shell脚本中,可以使用多种方法来对文件进行操作,包括读取文件或写

    2024年02月07日
    浏览(44)
  • postgresql|数据库|批量执行SQL脚本文件的shell脚本

    对于数据库的维护而言,肯定是有SQL脚本的执行,例如,某个项目需要更新,那么,可能会有很多的SQL脚本需要执行,SQL脚本可能会包含有建表,插入数据,索引建立,约束建立,主外键建立等等内容。 那么,几个SQL脚本可能无所谓,navicat或者psql命令行 简简单单的就导入了

    2024年02月01日
    浏览(73)
  • Shell工具脚本-生成文件&下载资源并解析

    主要包含功能如下: 1.自动生成文件 2.下载文件并解析 #  @Author: lvzhihong #  @Date: 2023-08-29 08:43:41 #! /bin/bash #config project_code=(\\\"23861\\\"  \\\"23862\\\" \\\"23863\\\") project_out_root=\\\"aon_project_output\\\" project_apk_url=\\\"xxx/2023082904130232_APP_INFO_repo_10010111.xml\\\"; declare -A aon_module_feature_map aon_module_feature_map[\\\"gaze\\\"]=\\\"

    2024年02月11日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包