Linux Shell Script 编写小结

时间:2021-03-05 00:09:04
 

PS:闲来无事,稍微总结一下shell脚本的简单编写方法,虽然不能涵盖Shell Script的全部,但是普通的shell脚本的编写差不多都翻了一遍,全当复习,高手莫喷

 

 

 

 

 

 

Linux知识复习:

Locale查看本地语系变量

系统默认语系存放点:etc/sysconfig/i18n

 Linux Shell Script 编写小结

 

Declare/typeset宣告环境变量的类型:

 Linux Shell Script 编写小结

 

Linux Shell Script 编写小结

 

 

命令别名设定alias 别名=”命令”

 

 

Date命令的用法:显示时间:

显示当前时间:date +%Y%m%d

显示1天前的时间:date –date=’1 days ago’ +%Y%m%d

 

 

 

 

 

 

 

一.什么是Shell Script

Shell Script就像早期DOS年代的批处理文件(.bat),最简单的功能是将许多指令汇整写在一起一次性执行

 

 

Shell Script的注意事项:

(1)   指令的执行时从上而下、从左到右执行的

(2)   指令、选项与参数间的多个空白都会被忽略

(3)   【tab】按键所推开的空白按照空格处理

(4)   如果一行中的内容太多可以用[\[Enter]]来延伸到下一行

(5)   [#]可以作为批注

(6)   Shell本必须具有可读可执行的权力

 

 

 

二.Shell脚本的编写

Shell脚本的编写格式:

1.第一行#!/bin/bash在宣告这个script使用的Shell名称

因为我们使用的是bash,所以必须要使用[#!/bin/bash]来宣告这个文档内的语法使用bash的语法

2.shell脚本以#作为注释的开始

3.主要程序部分

 

 

 

 

 

 

Shell脚本中的数值运算

利用delare来定义变量为整数后就能够进行加减运算,也可以利用[$((计算式))]来进行数值运算

在数值计算上也可以使用[declare –i total=$firstnu*$secnu]

 

 

 

 

 

 

 

 

利用test指令的测试功能

作用:测试系统上的某些档案或是相关的属性时,利用test指令

 

Test指令表

常用几个,其余查表:

 

小知识:&&与||

Code1 && code2:表示code1为真时才执行code2

Code1 || code2:表示code1为假时才执行code1

 

 

利用判断符号

除了利用test之外还可以使用“[]”来进行数据判断

注意:由于中括号用在许多地方(例如:正则表达式)为了区分,

中括号两边需要加上空格

 

例如:

 

中括号表达式使用的几点注意:

1.   在中括号中每个组件的都需要有空格键来分隔

2.   在中括号中的变数,最哈都以双引号括起来

3.   在中括号内的常熟,最好都以单引号或双引号括起来

 

 

 

 

Shell脚本中的默认变数

 

 

 

 

 

最后是if for等逻辑语句,格式与及用法与c语言大致相同

 

For循环(BASH):

形式一:

For var in [list]

do

  #code block

done

解释:$var是循环控制变量,[list]是var

需要遍历的一个集合,do done相当于一对大括号

注意:如果do 和for被写在同一行需要在do后面加上”;”

例1:

#!/bin/bash #会循环5次For day in Sun Mon Wed Thu Fri Sat Sun

Do

Echo $day

done

#只循环一次

For day in “Sun Mon Wed Thu Fri Sat Sun”

Do

Echo $day

Done

 

 

例2:

 

注意:

在for所在的那行,变量day是没有$符号的

而在循环体内部echo所在的行变量$day必须加上$

 

 

 

形式2:

 

 

While循环:

结构:

While[condition]

Do

  #code block

Done

 

Until循环:

Until [condition]//当条件为假时执行code block

Do

  #code block

done

 

 

Case语句:

case  “$var” in

Condition 1)

Data block

;;

Condition 2)

Data block

;;

 

*)

default statements;;

esac

例:

Read表示读取按键

 

 

 

 

 

 

Shell脚本中的函数:

例如:

#!/bin/bash

#program:

#   test

#   20120215   sola

 

Function println()

{

     Echo –n “This shell script called:”  #加上-n可以不断行继

#续在同一行显示

}

 

Println;

Echo $1