Linux shell 编程

1、shell结构:

1)#!指定执行脚本的shell

2)# 注释行

3)命令和控制语句

s

2、创建shell程序的步骤

1)创建一个包含命令和控制结构的文件

2)修改这个文件的权限使它可以执行。(chmod u+x  my.shell)

3)执行:./my.shell或者使用:sh my.shell

3、变量:是shell传递数据的一种方法,用来代表每个取值的符号名

shell有两类变量:临时变量和永久变量

1)临时变量:是shell程序内部定义的,其使用范围仅限于定义它的程序,对其它程序不可见。包括:用户自定义变量、位置变量。

2)永久变量:是环境变量,其值不随shell脚本的执行结束而消失。

*用户自定义变量由字母或下划线开头,由字母、数字或下划线序列组成,并且大小写字母意义不同。变量名长度没有限制。在使用变量值时,要在变量名前加上前缀“$“

*设置和使用变量,习惯上用大写字母来命名变量。变量名只能以字母表中的字符开头,不能用数字。

变量赋值:赋值号”=“两边没有空格。如NUM=1、将一个命令的执行结果赋给变量,如TIME=‘date’、将一个变量赋给另一个变量,如:A=$B、使用echo查看变量值,如:echo $A

3)列出所有变量:#set。注意包含多个字符的变量要用引号。取消变量:#unset NAME

4)位置变量:shell解释执行用户命令时,将命令行的第一个部分作为命令名,其他部分作为参数。由出现在命令行上的位置确定参数称为位置参数。如:

ls -l file1 file2 file3

$0 这个程序的文件名ls -l

$n 这个程序的第n个参数值,n=1-9

$* 这个程序的所有参数

$# 这个程序的参数个数

$$ 这个程序的PID

$! 执行上一个后台命令的PID

#? 执行上一个命令的返回值

4)read命令:从键盘读入数据,赋给变量。如:read USERNAME


5)expr命令:shell变量的算术运算符,对整型变量进行算术运算。


4、变量测试语句:用于测试变量是否相等、是否为空、文件类型。

格式:test 测试条件。

范围:整数、字符串、文件

1)字符串测试:

test str1=str2   测试字符串是否相等

test str1!=str2 测试字符串是否不相等

test str1 测试字符串是否不为空

test -n str1 测试字符串是否不为空

test -z str1 测试字符串是否为空

2)整数测试:

test int1 -eq int2 是否相等

test int1 -ge int2 是否>=

test int1 -gt int2 是否>

test int1 -le int2 是否<=

test int1 -lt int2 是否<

test int1 -ne int2 是否不相等

3)文件测试:

test -d file 指定文件是否是目录

test -f file 指定文件是否常规文件

test -x file 指定文件是否可执行

test -r file 指定文件是否可读

test -w file指定文件是否可写

test -a file 指定文件是否存在

test -s file 文件的大小是否非0

4)变量测试语句可用[]进行简化,如:test -d $1 等价于[ -d $1 ]。注意[和-d之间一定要有空格,]也一样。

5、流程控制语句:

1)if语句:

if 条件1 then

命令1

elif 条件2 then

命令2

else

命令3

fi

2)for……done语句:

for 变量 in 名字表

do

命令列表

done

3)case……esac语句:

case 变量 in

字符串1) 命令列表1 ;;

……

字符串n) 命令列表n ;;

esac

4)while语句:

while 条件

do

命令

done




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值