Unix--系统下Shell语法分析

 
Shell可以看作是一个命令行解释器,它是Unix操作系统下传统的用户和计算机的交互界面,用户直接输入命令来执行各种各样的任务,它类似于Windows 9X下的command.com或者是基于Windows NT的各种系统下的cmd.exe;同时Shell又是一种程序设计语言,它可以交互式解释和执行用户输入的命令或者自动地解释和执行预先设定好的一连串的命令。

Linux系统提供多种不同的Shell以供选择。常用的有Bourne Shell(简称sh)、C-Shelll(简称csh)、Korn Shell(简称ksh)和Bourne Again Shell (简称bash)。

Shell脚本执行方式:

(1) 输入定向到Shell脚本(Shell从文件中读取命令后执行)

bash < 脚本名

(2) 以脚本名作为参数(也可以:· 脚本名参数)

bash 脚本名 参数1 参数2

(3) 将Shell脚本的权限设置为可执行,然后在提示符下直接执行它。

chmod a+x 脚本名

脚本名

注意:如果在shell中指定了#!/bin/bash;可以不用在crontab中写bash,直接/xx/xx/xx.sh即可

 

 

 

Shell语法分析:

1.变量:

(1)定义:变量名=字符串

(2)使用(打印变量的值): echo $变量名

(3)变量赋值:

普通的赋值

xx="dd dkkd dd"

将命令的结果赋值,有两种形式

a) `命令`:

var = ` pwd `

b) $(命令):

var=${pwd}

2.数组:

(1)定义:

a) 数组名[下标]=值

b) declare -a 数组名

c) a=(a1 a2 a3 a4)

(2)数组值:

${数组名[下标]}

若没有给出数组元素的下标,则数组名表示下标为0的数组元素

表达式${#arr[i]}的值是数组arr第i个元素值的长度(字符个数)。

3.通配符:

* 表示匹配任意字符0次或多次出现

?表示匹配任意一个字符

[ ]表示其中任何一个字符

! 表示不在一对方括号中所列出的字符,a[!1-9] 即 a非1-9数字

+ 表示匹配任意字符1次或多次出现

(xx | xx) 表示或关系

4.引号:

(1)单引号: 普通字符

(2)双引号:除“$”、“`”、“"”、“\”或换行符外,其他都作为普通字符

$ 表值

\ 转义字符

(3)倒引号: 命令行

如:pwd `

5.条件语句:

(1)if

if 条件

then 命令1

else 命令2

fi

(2)case

case 字符串 in

模式字符串1) 命令

命令;;

模式字符串2) 命令

命令;;

模式字符串n) 命令

命令;;

Esac

例如:

case $1 in
one)
echo "one"
;;
two)
echo "two"
;;
three)
echo "three"
;;
*)
echo "ohter"

exit 1
esac

6.循环语句:

(1)while

while 条件

do

命令

Done

(2) until

until 测试条件

do

命令表

Done

(3)for

for 变量 in 值(正则表达式)

do

命令表

Done

7.Break与Continue

break n :表示跳出几层循环,默认值是1,表示只跳出一层循环

continue n :表示从最内层循环体向外跳到第几层循环,默认值是1

8.函数:

函数声明如下:

函数名( )

{

命令

}

函数定义也可以通过function关键字声明:function函数名(){}

注:可以通过return n 退出函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值