shell secript:

  执行方式的差异:
  ./ sh执行都是在创建一个子程序来执行,只会继承环境变量,
  其中的变量如果export声明,子程序的子程序会继承,不会升级为环境变量

  source 的执行方式是把脚本放到父程序的环境执行,
  其中的变量如果export声明,会升级成环境变量

  test判断,[]判断是一样的,建议使用[]的判断方式
  

  默认变量($0, $1......)

    $,$....位置变量,代表参数
    $#:代表参数的个数
    $@:代表参数"$1""$2""$3""$4"
    $*:代表"$1c$2c$3c$4",其中c为分隔符,默认是空白

  shift:变量偏移
    每执行一次,判断的位置向右移动一个

  条件判断:
    if [ 条件判断式 ];then
      内容
    fi

    &&代表AND; ||代表or
    -a:代表and; -o代表or

    if [ 条件判断式 ];then
      内容
    elif [ 条件判断式 ];then
      内容
    fi

  利用case .... esac判断

    case $变量 in
    "第一个变量内容")
      程序段
      ;;
    "第二个变量内容")
      程序段
      ;;
    "*")
      exit 1
      ;;

    esac

  循环:

    while do done
    while [ condition ]
    do
      程序段
    done

  当condition成立时,就执行循环,不成立则停止

    until [ condition ]
    do
      程序段
    done

  当condition成立时,就立则停止,不成立,则循环

  for ... do ...done

    for var in con1 con2 con3
    do
      程序段

    done

  数值处理
    for((初始值; 限制值; 执行步骤))
    do
      程序段
    done

  乱数与阵列array
    ${RANDOM} 的取值范围[0,32767]
    #!/bin/bash
    #

    e[1]="aaa"
    e[2]="bbb"
    e[3]="ccc"

    en=3

    check=$(( ${RANDOM} * ${en} / 32767 + 1))
    echo ${e[${check}]}

  function函数:
    function fname(){
      程序段
    }

    函数也具有位置变量,$0,$1,$2

  shell script的debug
    sh:
    -n:不要执行script,仅查询语法问题
    -v:在执行前,把script内容输出到屏幕上
    -x:将使用到的script内容显示在屏幕上

Linux shell Script初识的更多相关文章

  1. 一个改动配置文件的linux shell script

    不久以前,以前搜到一篇博客是读取配置文件的,http://www.cnblogs.com/bo083/archive/2012/11/19/2777076.html,用到如今,感觉十分方便.感谢作者. ...

  2. Linux shell script All In One

    Linux shell script All In One refs xgqfrms 2012-2020 www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!

  3. Linux Shell Script目录

    目录 Linux Shell基础 开始Shell编程 代码 示例代码查看:https://github.com/Furzoom/demo-C/tree/master/src/shell

  4. Linux Shell(初识)

    什么是Shell:Shell是一个命令解释器. Linux下支持shell的种类: 1.  Bourne Shell(简称sh) 2.C Shell(简称csh) 3.Korn Shell(简称ksh ...

  5. fastq to tasta using linux shell script

    #!/bin/bash usage() { echo " "; echo "############################################### ...

  6. (copy) Shell Script to Check Linux System Health

    source: http://linoxide.com/linux-shell-script/shell-script-check-linux-system-health/ This article ...

  7. Shell script for logging cpu and memory usage of a Linux process

    Shell script for logging cpu and memory usage of a Linux process http://www.unix.com/shell-programmi ...

  8. (原创)鸟哥linux学习script shell相关笔记

    在使用鸟哥linux进行script shell学习的过程中碰到一些不太明白的知识点,在这里进行一些记录 1. [root@www scripts]# vi sh03.sh #!/bin/bash # ...

  9. linux基础之Shell Script入门介绍

    本文介绍下,学习shell script编程的入门知识,通过几个入门实例,带领大家走进shell script的神圣殿堂,呵呵,有需要的朋友参考下. 本文转自:http://www.jbxue.com ...

随机推荐

  1. 74)搭建TCP服务器

    补充: 1-->listen是监听,就是监听你建立的那个socket那个窗口,要是有客户端来了,那么就把他加到 队列里面,然后accept是从队列中取客户端(就是把对应的客人的信息拿过来,交给w ...

  2. 1月18日 LCA专项训练

    A. Lorenzo Von Matterhorn B.Minimum spanning tree for each edge C.Misha, Grisha and Underground D.Fo ...

  3. UML-领域模型的精化

    拙劣的分类和错误的概括是混乱生活的祸根.--H.G.Wells的总结 1.is-a原则 子类定义的成员变量.方法与超类必须一致.即:不能多,也不能少. 子类是“一种”超类.CreditPayment是 ...

  4. protobuf 的enum与string转换

    c/c++ enum 介绍 说起c/c++ 的enum,比起python 真的是方便简洁 enum type{ type1 = 0, type2 } enum的元素对应的int 默认从0 开始依次增加 ...

  5. Object arrays cannot be loaded when allow_pickle=False

    问题再现 代码是Deep Learning with Python中的: from keras.datasets import imdb (train_data, train_labels), (te ...

  6. 洛谷 P1341 无序字母对(欧拉回路)

    题目传送门 解题思路: 一道欧拉回路的模板题,详细定理见大佬博客,任意门 AC代码: #include<cstdio> #include<iostream> using nam ...

  7. [NSConcreteValue doubleValue]: unrecognized selector sent to instance

    今天需求说要给在进入某个页面给某个按钮加上放大效果,心想这还不简单,于是三下五除二的把动画加上提交测试了. 下面是动画的代码 NSTimeInterval time = CACurrentMediaT ...

  8. Python说文解字_杂谈03

    1. 我们从前面的知识得到,所有的类都要继承自object这个基类(超类),另外我们知道“继承”可以继承类的属性和方法.我们起始通过type创建类的时候,自然而然的也会从ojbect继承他的一些属性和 ...

  9. 01 语言基础+高级:1-2 面向对象和封装_day06【类与对象、封装、构造方法】

    day06[类与对象.封装.构造方法] 面向对象类与对象三大特征——封装构造方法 能够理解面向对象的思想能够明确类与对象关系能够掌握类的定义格式能够掌握创建对象格式,并访问类中的成员能够完成手机类的练 ...

  10. 关于Weblogic的知识点

    一.解决Weblogic域创建.启动.进入控制台慢问题 搭建Weblogic 11g和12c环境时发现,安装正常,以默认组件安装,但是创建域的时候特别慢,一般需要几分钟至10分钟,卡在“创建域安全信息 ...