美文网首页linux
linux编写脚本指南

linux编写脚本指南

作者: 风一样的存在 | 来源:发表于2019-03-28 13:08 被阅读0次
  1. linux命令作为返回值
    反引号包裹的字符串,当作命令执行返回
pid = `ps -ef|grep gerapy|grep -v grep|awk '{print $2}'`
if ["$pid" = ""] ; then
    echo "gerapy is shutdown now!"
else
    kill -9 $pid
fi

当然也可以用$?获取返回值

  1. shell解析json字符串
    使用场景:curl请求后的结果是json数据,要获取json中的某一个字段。
#!/bin/bash
s="{\"rv\":0,\"flag\":1,\"url\":\"http://www.jinhill.com\",\"msg\":\"test\"}"
parse_json(){
#echo "$1" | sed "s/.*\"$2\":\([^,}]*\).*/\1/"
echo "${1//\"/}" | sed "s/.*$2:\([^,}]*\).*/\1/"
}
echo $s
value=$(parse_json $s "url")
echo $value
运行结果: 运行效果
  1. shell解析请求链接上的query参数
#!/bin/bash
s="http://www.zonetec.cn/WlanAuth/portal.do?appid=aaaa&apidx=0"
parse(){
 echo $1 | sed 's/.*'$2'=\([[:alnum:]]*\).*/\1/'
}
value=$(parse $s "appid")
echo $value
运行结果: 运行效果
  1. 获取当前时间
time=$(date "+%Y-%m-%d %H:%M:%S")
echo $time
time=$(date "+%Y%m%d%H%M%S")
echo $time
  1. 字符串截取
  • #号截取,删除左边字符,保留右边字符
# (#号是运算符),*// 表示从左边开始删除第一个 // 号及左边的所有字符
var='http://www.linuxidc.com/123.htm'
echo ${var#*//}
# 输出结果:www.linuxidc.com/123.htm
  • ##号截取,删除左边字符,保留右边字符
# (##*/)表示从左边开始删除最后(最右边)一个 / 号及左边的所有字符
var='http://www.linuxidc.com/123.htm'
echo ${var##*/}
# 输出结果:123.htm
  • %号截取,删除右边字符,保留左边字符
# (%/*)表示从右边开始,删除第一个 / 号及右边的字符
var='http://www.linuxidc.com/123.htm'
echo ${var%/*}
# 输出结果: http://www.linuxidc.com
  • %%号截取,删除右边字符,保留左边字符
# (%%/*)表示从右边开始,删除最后(最左边)一个 / 号及右边的字符
var='http://www.linuxidc.com/123.htm'
echo ${var%%/*}
# 输出结果:http:
  • 根据下标截取
# 从左边第几个字符开始,及字符的个数
echo ${var:0:5}
# 表示左边第8个字符开始,一直到结束
echo ${var:7}
# 表示右边算起第7个字符开始,3 表示字符的个数
echo ${var:0-7:3}
# 从右边第几个字符开始,一直到结束
echo ${var:0-7}
运行结果: 运行结果
  1. 字符串拼接
    单引号和双引号的区别。单引号告诉shell忽略所有特殊字符,而双引号忽略大多数,但不包括$、\、`
echo 'the date is `date`'
# 输出结果:the date is `date`
echo "the date is `date`"
# 输出结果:the date is 2019年 3月28日 星期四 12时05分37秒 CST
var1='/etc/'
var2='software/packages/'
echo ${var1}${var2}
# 输出结果:/etc/software/packages/
  1. 去除字符串空格
  • 去除字符串行首空格
    sed 's/^[ \t]*//g'
  • 去除字符串行末的空格
    sed 's/[ \t]*$//g'
  • 去除字符串中所有的空格
    sed 's/[[:space:]]//g'

相关文章

  • linux编写脚本指南

    linux命令作为返回值用反引号包裹的字符串,当作命令执行返回 当然也可以用$?获取返回值 shell解析json...

  • Shell入门笔记

    Shell脚本:Linux Shell脚本学习指南菜鸟教程 - Shell教程Linux入门 - Shell脚本是...

  • linux/shell 分析nginx日志

    一、学习资料 高级Bash脚本编程指南 LINUX与UNIX SHELL编程指南 鸟哥的Linux私房菜 IBM ...

  • 2021-02-04 简历

    1 熟悉主流Linux操作系统 Linux命令,编写shell 脚本,并熟悉运用 grep、awk、sed 等脚本...

  • 指令随笔

    linux 修改shell脚本的编码 在window下编写的shell脚本编码为dos,在linux环境下不能直接...

  • 实验六

    实验六 编辑Linux脚本程序 实验目的 1.熟悉简单的Linux脚本程序的结构与原理 2.掌握编写脚本程序的方...

  • MATLAB for Linux

    matlab for linux(Linux 下MATLAB的安装运行与脚本编写) 1.下载地址: https:/...

  • linux shell 脚本-基础知识(一)

    linux shell 脚本的编写是Linux程序员最基本也是必须学会的技能。这里主要介绍学习shell脚本的基本...

  • Linux 编写 shell 脚本

    个人自定义 为了能在 Linux 全局运行脚本,所以我先创建了一个属于自己的文件夹路径如下 并在 /etc/pro...

  • Linux Shell 脚本编写

    1.Shell脚本 可以将 Shell 终端解释器当作人与计算机硬件之间的“翻译官”,它作为用户与 Linux 系...

网友评论

    本文标题:linux编写脚本指南

    本文链接:https://www.haomeiwen.com/subject/jvbxbqtx.html