1.向脚本传递参数

  1. #!/bin/bash
  2. #功能:打印文件名与输入参数
  3. #作者:OLIVER
  4.  
  5. echo $0 #打印文件名
  6. echo $1 #打印输入参数

执行结果:

2.在脚本中使用参数

  1. #!/bin/bash
  2. #功能:输入参数的使用
  3. #作者:OLIVER
  4.  
  5. cp $1 $2 #根据输入参数复制文件到指定位置

执行结果:

3.函数的使用

  1. #!/bin/bash
  2. #功能:函数的使用
  3. #作者:OLIVER
  4.  
  5. run(){
  6. echo "Hell world"
  7. }
  8. run

运行结果:

4.连接两个字符串

  1. #!/bin/bash
  2. #功能:字符串连接
  3. #作者:OLIVER
  4.  
  5. var1="My name is :"
  6. var2="Tom"
  7. var=${var1}${var2}
  8. echo $var

5.两个整数相加

  1. #!/bin/bash
  2. #功能:两个整数相加
  3. #作者:OLIVER
  4.  
  5. a=3
  6. b=4
  7. let sum=$a+$b
  8. echo "The sum is :$sum"

除了上述方法还有其他的方法:a=1 b=2

echo $((a+b)) #方法2

echo $[ $a+$b ] #方法3

expr $a + $b #方法4

echo $a+$b|bc #方法5

awk 'BEGIN{print '"$a"'+'"$b"'}' #方法6


6.检查文件系统中是否存在某个文件

声明:文件夹/qinys/oliver下存在文件a.txt

  1. #!/bin/bash
  2. #功能:判断文件是否存在
  3. #作者:OLIVER
  4. if [ -f /qinys/oliver/a.txt ];then
  5. echo "File exists"
  6. else
  7. echo "File not exists"
  8. fi

运行结果:

7.shell脚本中的三种循环语法

  1. #!/bin/bash
  2. #功能:三种循环
  3. #作者:OLIVER
  4.  
  5. #for循环
  6. for((i=0;i<=5;i++));
  7. do
  8. echo "for循环第$i次"
  9. done
  10.  
  11. echo "===================="
  12. #while循环
  13. count=1
  14. while [ $count -lt 5 ];
  15. do
  16. echo "while循环第$count次"
  17. let count++
  18. done
  19.  
  20. echo "===================="
  21. #until循环
  22. cnt=1
  23. until [ $cnt -gt 5 ];
  24. do
  25. echo "until循环第$cnt次"
  26. let cnt++
  27. done

8.读取文件的第5行

head -5 filename | tail -1

9.使用echo截取字符串的一部分

语法:

echo ${var:x:y}

x: 起始位置(不包含)

y:截取长度

例子:

Linux:/qinys/oliver # str="My name is OLIVER"&&echo ${str:3:4}

name

10.echo ${str:-2}与echo ${str: -2}的区别

假如:str=abcd

echo ${str:-2}:表示当str为空的时候,则赋予值-2

echo ${str: -2}:表示截取str的后两位

11.echo命令替换字符串的一部分

echo ${variable//pattern/replacement}

12.去除字符串中的空格

Linux:/qinys/oliver # echo "a c djk"|tr -d " "

acdjk

13.输出0到20之间5的倍数

Linux:/qinys/oliver # for (( i=0; i<=20; i=i+5 )); do echo "Welcome $i times"; done

Welcome 0 times

Welcome 5 times

Welcome 10 times

Welcome 15 times

Welcome 20 times


【shell】shell基础脚本合集的更多相关文章

  1. Shell 脚本合集

    0. 说明  Shell 脚本合集 1. xcall.sh xcall.sh 编写为了为了同时对多台服务器进行操作,编写完成之后,将其发送到 /usr/local/bin 下 #!/bin/bash ...

  2. linux基础操作命令合集(一)

    linux基础操作命令合集(一) 目录 linux基础操作命令合集(一) 一.命令行提示符 二.切换用户 三.主机名称命令 3.1.临时设置主机名 3.2.永久设置主机名 四.查看系统版本 五.网卡相 ...

  3. 自编shell脚本合集(完善中)

    1.数据库备份 #!/bin/bash user="root" psword="root" bakdir="/data/mysqlbak" ...

  4. Shell编程—基础脚本

    1. 使用多个命令 如果要两个命令或者多个命令一起运行,可以把它们放在同一行中,彼此间用分号隔开. 2. 创建 shell 脚本文件 例如: #!/bin/bash # This script dis ...

  5. VBS脚本合集(自制脚本)

    一.视频搜索器选择: Selectitem() '######################################### Function  Selectitem() 'Set Vedio ...

  6. Android基础系列合集

    四大组件 1.Service Android四大组件-Service Android-远程Service Service 动态更新 UI 2.Activity Android四大组件-Activity ...

  7. Java 基础系列合集

    Java基础知识你知道多少? Java特性 Java三大特性:封装,继承,多态 Java 抽象类与接口 Java 浅拷贝和深拷贝 Java static和final Java 内部类.静态内部类.匿名 ...

  8. Java面试基础部分合集

    写在前面:这篇文章对于在Java方面已经很牛逼的大手,就没必要看了,因为对于你们来说,这tm简直太简单了.... 面试我们都经历过,你真的懂面试吗?针对面试我只想说一点,面试的目的不是让考官知道你怎么 ...

  9. Linux一键脚本合集vps

    首先,想说说一键脚本流行的原因何在? 众所周知的是,Linux 是占据大半壁江山的服务器系统,但在桌面上的占有率可就远不是那么回事儿了,使用和熟悉 Linux 的人远没有 Windows 多,但又因为 ...

随机推荐

  1. Easyui 页面设置加载完成之后,满屏

    js文件: if(top.location!=self.location){ top.location.href=self.location; }

  2. [Android Pro] 跨平台反编译工具 jadx (ubuntu亲测 可用)

    github :  https://github.com/skylot/jadx 输入: .dex, .apk, .jar or .class 输出: 资源文件 和  class文件 不支持重新打包, ...

  3. 我的Java学习推荐书目

    一直有这么个想法,列一下我个人认为在学习和使用Java过程中可以推荐一读的书籍,给初学者或者想深入的朋友一些建议,帮助成长.推荐的的都是我自己读过,也会推荐一些朋友读过并且口碑不错的书籍. 一.基础类 ...

  4. LaTeX技巧205:使用split输入多行公式技巧

    我们在输入多行公式的时候,split,array,multiline,align,aligned等等都是我们可以选用的环境,这里介绍split的使用方法.演示效果图: 演示代码:\documentcl ...

  5. caffe中的学习率的衰减机制

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/Julialove102123/article/details/79200158 根据  caffe/ ...

  6. C#7.0新增功能点

    原文地址:  https://www.cnblogs.com/runningsmallguo/p/8972678.html 第二部分:C#7.0新增的功能 (1)数字字面量的提升: C#7中的数字文字 ...

  7. [Windows_Server_2012优化V1.1_20140425]

    [Windows_Server_2012优化V1.1_20140425] Winsows Server 2012 Datacenter Evaluation Build 9200数据中心评估版GUI ...

  8. libcurl进行HTTP GET获取JSON数据(转载)

    转载:http://blog.csdn.net/vincent2610/article/details/68488365 #include <stdio.h> #include <i ...

  9. LeakCanary 内存泄漏 监测 性能优化 简介 原理 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  10. JSTL fn:contains()函数

    fn:contains() 函数判断一个输入字符串是否包含一个指定的子串. 语法 使用 fn:contains() 函数具有以下语法: boolean contains(java.lang.Strin ...