shell脚本测试变量是否为空,测试文件是否存在,sed修改配置文件参数,分支语句
发布日期:2021-06-23 04:43:32 浏览次数:4 分类:技术文章

本文共 2333 字,大约阅读时间需要 7 分钟。

Shell脚本

1. 基本的几个变量

  • 使用$?获取最近一次的执行结果
  • 使用$#获取传递的参数个数,类似C语言中的int argc;
  • 使用$@获取所有的传参,类似C语言的char **argv

2. 获取一个命令的结果是否为空

场景:在某个目录查找是否包含某个文件

一般使用双引号("")将变量括起来。将多个变量化为一个字符串,否则测试时可能会有warning
########################################################################## File Name: common_usages.sh# Author: Toney Sun# mail: vip_13031075266@163.com# Created Time: 2020年04月20日 星期一 15时03分23秒##########################################################################!/bin/bash<

3. 检测文件系统中是否存在某个文件

场景: 需要解压缩一个tar包,首先得确认tar包存在;

########################################################################## File Name: common_usages.sh# Author: Toney Sun# mail: vip_13031075266@163.com# Created Time: 2020年04月20日 星期一 15时03分23秒##########################################################################!/bin/bash<

3. 使用sed命令修改一整行内容

场景: 修改配置文件的值

########################################################################## File Name: common_usages.sh# Author: Toney Sun# mail: vip_13031075266@163.com# Created Time: 2020年04月20日 星期一 15时03分23秒##########################################################################!/bin/bash<
不可行 #以”REVISION=“开始的行全部替换为”REVISION=$version“ #sed -i 's/REVISION=.*$/REVISION=$version/' $FILE #可行办法 sed -i "s/REVISION=.*$/REVISION=$version/" $FILE}

3. 检测文件系统中是否存在某个文件

场景: 需要解压缩一个tar包,首先得确认tar包存在;

########################################################################## File Name: common_usages.sh# Author: Toney Sun# mail: vip_13031075266@163.com# Created Time: 2020年04月20日 星期一 15时03分23秒##########################################################################!/bin/bash<

4. shell脚本中的分支语句

场景: 根据不同的参数执行不同的操作;获取函数返回值

########################################################################## File Name: common_usages.sh# Author: Toney Sun# mail: vip_13031075266@163.com# Created Time: 2020年04月20日 星期一 15时03分23秒##########################################################################!/bin/bashcondition(){
if [ $# -eq 1 ]; then case "$1" in clean) echo "make clean..." return 0 ;; all.clean) echo "make all.clean..." return 0 ;; *) echo "make default..." return 1 ;; esac elif [ $# -eq 2 ]; then echo "Two parameters...." return 1 else cat <<-USAGE Usage: $0 [clean|clean.all] [para1 para2] USAGE fi }condition asdf[ $? -eq 0 ] && echo "return sucess!!!" || echo "failed!!!"

转载地址:https://blog.csdn.net/s2603898260/article/details/105638155 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:百度云网速慢?普通VIP也限速?用户激励措施太套路?Pandownload被举报?这些统统没关系,我们自己搭建一个私人云盘服务器
下一篇:新游记-走在新加坡河畔

发表评论

最新留言

关注你微信了!
[***.104.42.241]2024年04月20日 16时14分05秒