Linux的Shell Script基本语法

特点

1 纯文本文件

2 包含shell的语法和命令(内部和外部命令)

3 支持正则表达式,管线命令,数据重导向等功能

4 支持数组、循环、条件与逻辑判断

5 不需编译即可执行,且有debug工具

6 script速度较慢,占用资源较多

 

基本语法

1 #!/bin/sh,第一行声明此script所使用的shell

2 #号后面都是注释,标注此script的功能,作者,时间等

3 export PATH,声明此script运行的环境变量

4 exit 0,最后script结束返回结果值,0代表正确

 

输入参数

$0代表此script的文件名
$1

代表此script的第一个参数。$2代表第二个参数,以此类推

$#代表参数的个数
$@代表"$1" "$2",每个参数独立的使用双引号
$*代表"$1c$2",c为分隔符,默认为空格
shift [n]shell内部命令。对现有多个参数进行偏移删除

 

function功能

1 function的内容一定在script正文的最前面,这样才能被其他部分引用

2 function拥有内建变量。$0代表函数名,$1代表函数第一个参数

 

判断式

test检查文件各种属性或比较两个值
 [](中括号)

用法同test

中括号内的每个组件都需要空格来分隔

在中括号内的变量或常量最好都用双引号

中括号之间可以使用&&或||逻辑判断符

 

条件判断

if [判断式]; then

fi

单层条件判断

if [判断式]; then

elif[判断式];then

else

fi

多层条件判断

case $变量 in

"value1")

;;

"value2")

;;

*)

;;

esac

每个value最好用双引号

每个程序段结尾需要用到;;

最后*表示其他所有值

 

循环

while [判断式]

do

done

不定循环

当条件成立,进行循环

until [判断式]

do

done

不定循环

当条件成立,终止循环

for 变量 in value1 value2

do

done

固定循环

变量每次从in后面取值,进行循环

for ((初始值;限制值;步阶))

do

done

固定循环

初始值,i=1

限制值,i<=100

步阶,i=i+1

 

 

Bash的参数进行debug

-n不执行script,仅查询语法
-v在执行script前,先将script的内容输出到屏幕
-x

将使用的script内容显示到屏幕

显示结果的,同时也显示相应的语句,debug

 

执行方式的区别

1 在新的子bash环境下运行此script

$ ./shell.sh          //script需要rx权限
$ bash shell.sh       //script需要r权限

 

2 在当前的bash环境下运行此script

$ source shell.sh
 

相关文件

/etc/init.d/     此路径下的文件都是系统的shell scripts

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值