LINUX中shell脚本中语句的基本用法

一、if ...then...fi

if [  条件判断一 ] && (||) [ 条件判断二 ]; then                       <==if 是起始,后面可以接若干个判断式,使用 && 或 || 执行判断

elif [ 条件判断三 ] && (||) [ 条件判断四 ]; then                 <== 第二段判断,如果第一段不符合要求就转到此搜寻条件,执行第二段程序

else                                                                            <==当前两段都不符合时,就执行这段内容

fi                                                                                          <== 结束 if then 的条件判断

上面的意思是:中括号[] 里的是条件表达式,如果是复合条件判断(如若A 及B 则C 之类的逻辑判断),那么就需要在两个中括号之间加&&(and)或| | (or )这样的逻辑运算符。如果是多重选择,那么需要以elif(可选的,需要时才加上)新增另一个条件;如果所有的条件都不适用,则使用else (可选的)执行最后的内容。

如:

#!/bin/bash

# This program is used to study if then

# 2013/12/30

echo "Press y to continue"

read yn

if [ "$yn" = "y" ] || [ "$yn" = "Y" ]; then

echo "script is running..."

elif [ "$yn" = "" ];  then

echo "You must input parameters "

else

echo "STOP!"

fi

二、case ... esac

case  种类方式(string) in                                   <== 开始阶段,种类方式可分成两种类型, 通常使用 $1 这种直接输入类型

种类方式一)

程序执行段

;;                    <==种类方式一的结束符号

种类方式二)

程序执行段

;;

*)

echo "Usage: { 种类方式一|种类方式二}"   <==列出可以利用的参数值

exit 1

esac                      <== case结束处

种类方式(string)的格式主要有两种:

·  直接输入:就是以“执行文件 + string ”的方式执行(/etc/rc.d/init.d  里的基本设定方式),string可以直接写成$1(在执行文件后直接加入第一个参数)。

·  交  互  式:就是由屏幕输出可能的项,然后让用户输入,通常必须配合read variable,然后string写成$variable 的格式。

如(交互式):

#!/bin/bash

# program:      Using case mode

# 2013/12/30

echo "Press your select one, two, three"

read number

case $number in

one)

echo "your choice is one"

;;

two)

echo "your choice is two"

;;

three)

echo "your choice is three"

;;

*)

echo "Usage {one|two|three}"

exit 1

esac

三、循环语句

1、for (( 条件1; 条件2; 条件3))               ---已经知道运行次数

如:

#!/bin/bash

# Using for and loop

# 2013/12/30

declare -i s  #        <==变量声明

for (( i=1; i<=100; i=i+1 ))

do

s=s+i

done

echo "The count is ==> $s"

2、for variable in variable1 variable2 .....

如:

#!/bin/bash

# using for...do ....done

# 2013/12/30

LIST="a aa aaa aaaa aaaaa"

for i in $LIST

do

echo $i

done

脚本执行结果如下:

a

aa

aaa

aaaa

aaaaa

3、while [ condition1 ] && { | | } [ condition2 ] ...             --先判断条件

如:

#!/bin/bash

# Using while and loop

# 2013/12/30

declare -i i

declare -i s

while [ "$i" != "101" ]

do

s=s+i

i=i+1

done

echo "The count is ==> $s"

4、until [ condition1 ] && { | | } [ condition2 ] ...               --先做后判断条件

如:

#!/bin/bash  # Using until and loop  # 2013/12/30 declare -i i  declare -i s  until [ "$i" = "101" ]  do          s=s+i          i=i+1  done  echo "The count is ==> $s"

linux脚本语句,LINUX shell 脚本语句相关推荐

  1. Linux命令行与shell脚本编程大全:第2版

    <Linux命令行与shell脚本编程大全:第2版> 基本信息 作者: (美)布卢姆(Blum,R.) 布雷斯纳汉(Bresnahan.C.) [作译者介绍] 译者: 武海峰 丛书名: 图 ...

  2. linux脚本编写规则,shell脚本编写守则

    现在centos7中使用的是bash软件,通过以下命令可以查看bash版本: [root@localhost ~]# cat /etc/redhat-release #查看系统的版本 CentOS L ...

  3. 《Linux命令行与Shell脚本编程大全第2版.布卢姆》pdf

    下载地址:网盘下载 内容简介  · · · · · · 本书是一本关于Linux 命令行与shell 脚本编程的全面教程.全书分为四部分:第一部分介绍Linuxshell 命令行:第二部分介绍shel ...

  4. 《Linux命令行与shell脚本大全》笔记

    初识Linux Shell 什么是Linux Linux可划分为以下四部分: Linux内核 GNU工具 图形化桌面环境 应用软件 深入探究Linux内核 内核主要负责以下四种功能: 系统内存管理 软 ...

  5. linux运维自动化脚本,linux运维自动化shell脚本小工具

    linux运维shell 脚本小工具,如要分享此文章,请注明文章出处,以下脚本仅供参考,若放置在服务器上出错,后果请自负 1.检测cpu剩余百分比 #!/bin/bash #Inspect CPU # ...

  6. 《linux命令行与shell脚本编程大全》第三版 - 核心笔记(3/4):函数与图形化脚本

    <linux命令行与shell脚本编程大全> 全书4部分: ☆ [1]linux命令行(1-10章) ☆ [2]shell脚本编程基础(11-16章) ☆ [3]高级shell脚本编程(1 ...

  7. linux 用shell脚本文件,Linux必须掌握的shell脚本基础

    1. shell 基本语法 shell: shell 是一个命令解释器,它在操作系统的最外层,负责直接与用户进行对话,把用户的输入解释给操作系统,并处理各种各样的操作系统的输出结果,输出到屏幕反馈给用 ...

  8. 《Linux命令行与shell脚本编程大全》笔记一

    第一章 初始 Linux shell Linux内核主要四种功能: 1.系统内存管理 2.软件程序管理 3.硬件设备管理 4.文件系统管理 shell:交互工具. 第三章 基本的bash shell ...

  9. 【Linux】《Linux命令行与shell脚本编程大全 (第4版) 》笔记-汇总 ( Chapter17-ChapterB )

    十七.创建函数 bash shell 提供了用户自定义函数功能,可以将 shell 脚本代码放入函数中封装起来. 函数是一个脚本代码块,你可以为其命名并在脚本中的任何位置重用它.每当需要在脚本中使用该 ...

  10. linux 命令行与shell脚本编程大全

    linux 命令行与shell脚本编程大全 第一章 Linux LiveCD就是从cd读取的系统,由于没法将数据写入到cd,所以一旦重启,之前操作过后的一切数据都会丢失. 第二章 第三章 1.man手 ...

最新文章

  1. [Leetcode] Insertion Sort List
  2. Convert Sorted Array to Binary Search Tree - LeetCode
  3. java cpu 占用高问题定位
  4. zabbix3监控ESXI主机
  5. python编写程序计算1+2+3+......+100和_Python3:计算两个列表总和为100的所有排列的最有效方法是什么?...
  6. 音视频开发(23)---音视频直播技术--10分钟搭建好直播平台
  7. 任正非:未来是云时代,华为也要转向云战略
  8. Spring Boot 配置文件之前缀属性注入
  9. Java学习笔记(2)----散列集/线性表/队列/集合/图(Set,List,Queue,Collection,Map)
  10. 团购系统开发,开源团购商城系统,PC+WAP+APP三合一
  11. 2021 年使用人数最多的5款主流前端框架点评
  12. 惠普打印机双击之后没有扫描_惠普打印机 找不到 扫描图标 怎么办,急需扫描一些证件 ,求救...
  13. 计算机硬盘的文件怎么删除文件,如何彻底删除文件?彻底删除硬盘数据的几种方法-电脑教程...
  14. Linux权限设置方法
  15. mongodb导入数据
  16. “泰迪杯”挑战赛 - 通过聚类方法对航空客运的客户进行细分
  17. 如何搭建自己的cdn
  18. EMNLP-21-Learning from Noisy Labels for Entity-Centric Information Extraction-noise label
  19. SQL Server修改表结构,添加约束
  20. 学python第一弹 用IDLE启动python

热门文章

  1. [css] 请说说*{box-sizing: border-box;}的作用及好处有哪些?
  2. [js] 根据元素ID遍历树形结构,查找到所有父元素ID
  3. 前端学习(2847):css鼠标样式
  4. 前端学习(2237):react实现疫情数据
  5. 前端学习(1869)vue之电商管理系统电商系统之配置axios发出登录请求
  6. 前端学习(235):css HACK
  7. QT Openssl no OPENSSL_Applink 解决
  8. vue-cli 4.x 配置 htmlWebpackPlugin.options.title
  9. 避免switch嵌套的一种方法
  10. RS(2)--从文本数据到用户画像