shell参数

  如同ls 命令可以接受目录等作为它的参数一样,在shell编程时同样可以使用参数。Shell有位置参数和内部参数。

  1、 位置参数

  由系统提供的参数称为位置参数。位置参数的值可以用$N得到,N是一个数字,如果为1,即$1.类似C语言中的数组,Linux会把输入的命令字符串分段并给每段进行标号,标号从0开始。第0号为程序名字,从1开始就表示传递给程序的参数。如$0表示程序的名字,$1表示传递给程序的第一个参数,以此类推。

  2、 内部参数

  上述过程中的$0是一个内部变量,它是必须的,而$1则可有可无。和$0一样的内部变量还有以下几个。

  $# ----传递给程序的总的参数数目

  $? ----上一个代码或者shell程序在shell中退出的情况,如果正常退出则返回0,反之为非0值。

  $* ----传递给程序的所有参数组成的字符串。

循环结构语句

  shell常见的循环语句有for循环、while循环

  for 循环

  语法:for 变量 in 列表

  do

  代码

  done

  注:变量是要在循环内部用来指代当前所指代的列表中的那个对象的。

  列表是在for 循环的内部要操作的对象,可以是字符串也可以是文件,如果是文件则为文件名。

While循环

  语法:while 表达式

  do

  代码

  done

  只要while表达式成立,do和done之间的操作就一直会进行。

条件语句

  Shell程序中的条件语句主要有if语句、case语句;

  If语句

  语法:if 表达式1 then

  代码

  elif 表达式2 then

  代码

  elif 表达式3 then

  代码

  …..

  else

  代码

  fi

Case语句

  语法:case 字符串 in

  值1|值2)

  代码;;

  值3|值4)

  代码;;

  值5|值6)

  代码;;

  *}

  代码;;

  esac

  case的作用就是当字符串与某个值相同是就执行那个值后面的操作。如果同一个操作对于多个值,则使用”|”将各个值分开。在case的每一个操作的最后面都有两个”;;”,分号是必须的。

while ... do  ... done  (不确定的循环)

while [ condition ]  ==>中括号内的状态就是判断式
do ==> do 是循环的开始!
命令或者代码
命令或者其他逻辑语句
done ==> done 是循环的结束

for do done (固定的循环)

for var in con1 con2 con3 ......

do

循环体

done

var 是变量名,循环中的变量。
con1 con2 con3 是常量,就是具体的数据,被循环的对象
也可以是一个已经被赋值的变量, 写法 ${v1} ${v2}

shell 参数与逻辑结构语句的更多相关文章

  1. 转 功能强大的shell:if条件语句

    原文 http://blog.zol.com.cn/2322/article_2321767.html 功能强大的shell:if条件语句 if语句测试条件,测试条件返回真(0)或假(1)后,可相应执 ...

  2. shell脚本-循环选择语句

    shell脚本-循环选择语句 过程式编程语言: 顺序执行 选择执行 循环执行 注:条件中的变量,可以在执行语句中使用,不用在加上"$". if语句 根据命令的退出状态来执行命令 单 ...

  3. hive shell参数

    Hive Shell参数 1.Hive命令行 语法结构 hive [-hiveconf x=y]* [<-i filename>]* [<-f filename>|<-e ...

  4. shell脚本之循环语句与函数

    shell脚本之循环语句与函数 echo的用法: echo -n #表示不换行输出 echo -e #输出转义字符,将转义后的内容输出到屏幕上 转义字符: \n :换行,被输出的字符从"\n ...

  5. shell 脚本之判断语句 if 详解

    使用 Linux 系统这么长时间,对 shell 脚本也算是比较熟悉.其实不管是搞开发,还是搞运维,shell 脚本都是必备的基本技能.这次抽时间好好总结一下 shell 方面的知识,综合的再学习一下 ...

  6. 通过带参数的Sql语句来实现模糊查询(多条件查询)

    #region 通过带参数的Sql语句来实现模糊查询(多条件查询) StringBuilder sb = new StringBuilder("select * from books&quo ...

  7. GO学习笔记 - 没有参数的 return 语句返回各个返回变量的当前值,这种用法被称作“裸”返回。

    Go 的返回值可以被命名,并且就像在函数体开头声明的变量那样使用. 返回值的名称应当具有一定的意义,可以作为文档使用. 没有参数的 return 语句返回各个返回变量的当前值.这种用法被称作“裸”返回 ...

  8. Linux Shell参数替换

    Linux Shell参数替换 2013-06-03 10:01 by 轩脉刃, 1816 阅读, 0 评论, 收藏, 编辑 Bash中的符号的作用是参数替换,将参数名替换为参数所代表的值.对于 来说 ...

  9. 04 shell编程之循环语句

    Shell编程之循环语句 学习目标: 掌握for循环语句编程 掌握while循环语句编程 目录结构: For循环语句 l  读取不同的变量值,以逐个执行同一组命令 l  For语句结构 for 变量名 ...

随机推荐

  1. Python标准库Random

    基本方法 获取一个[0,1)的随机浮点数: import random print(random.random()) #输出 0.6701488343121276 获取指定区间的随机浮点数: impo ...

  2. flask操作

    models.py class CompanyGoodsModel(Base): id=Column(Integer, primary_key=True) company_id = Column(In ...

  3. pymysql模块学习

    #Pymysql 用于连接mysql数据库 #连接数据库 data_ip = "192.168.34.128" data_name = "lch" data_p ...

  4. Centos7更改网卡名称Eth0

    标签: Centos7更改网卡名称 2016-12-06 21:55 8737人阅读 评论(1) 收藏 举报  分类: linux(6)  作者同类文章X 版权声明:本文为博主原创文章,未经博主允许不 ...

  5. mybatis(四):执行流程

    实现流程 // 读取mybatis-config.xml文件 InputStream inputStream = Resources.getResourceAsStream("mybatis ...

  6. python3练习100题——016

    今天的题目比较容易了,旨在让人掌握datetime模块下的一些用法. 链接:http://www.runoob.com/python/python-exercise-example16.html 题目 ...

  7. 前端必备 Nginx 配置

    Nginx (engine x) 是一个轻量级高性能的HTTP和反向代理服务器,同时也是一个通用 代理服务器 (TCP/UDP/IMAP/POP3/SMTP),最初由俄罗斯人Igor Sysoev编写 ...

  8. 调用系统计算器n次

    #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> void main1(){ int n ...

  9. linux复制,网络报错

    我拷贝了过来的Linux虚拟机无法上网,我用ifconfig命令查询了一下发现只有eth1和lo设备,没有eth0.于是我在Google上搜索了一下, <VMWare克隆或复制Linux虚拟机后 ...

  10. 我竟然把today = new Date();写在了全局变量里面

    let today = new Date();应该在每次用之前重新生成新的对象,因为对于例如 today.getTime() 这种方法,取得是today对象的time,而非调用today对象取得实时时 ...