Linux复习

UNIX shell编程语言简介

shell是一种可用于编程的命令语言
shell程序易于编写、修改和调试,无需编译
shell的程序文件称为
shell过程、shell脚本或脚本
shell脚本
一个文本文件,包含一系列shell命令运行shelI脚本,命令依次交给shell执行,一次一条所有命令执行完毕或出错,脚本停止执行

简单的shell脚本

在这里插入图片描述

执行脚本

执行脚本的两种方式
1.使用sh命令
2.使脚本转变成可执行文件

sh命令执行脚本

sh命令(任何一个shell)   脚本名
$ sh won
$ ksh won
$ bash won

方法实质
启动一个新shell运行脚本程序

使脚本变成可执行文件
优势
不需要调用另外一个shell直接输入脚本文件名执行

chmod 更改文件权限

在这里插入图片描述
在这里插入图片描述

更多shell脚本

使用特殊字符

在这里插入图片描述

退出系统

退出shell

exit    或
Ctrl- d

脚本在shell创建的子进程中运行
退出shell,必须在shell自身环境中运行!

执行命令:点(.)命令

. 在当前shell中执行脚本,而不创建子进程
shell内部命令,测试脚本程序时使用

在这里插入图片描述
在这里插入图片描述

读取输入:read命令

read 从标准输入设备读入字符串存入变量中
读取用户输入,存入一个到多个变量中

在这里插入图片描述

shell编程基础

shell提供了用于脚本的命令和结构
#表示后面的内容为注释,shell忽略#以后的字符

变量

shell允许自定义变量
变量定义

变量名=变量值

■shell不支持数据类型,赋给变量的值解释成字符串
■变量名遵守与文件命名同样的语法规则
■变量可以在shell提示符下定义并使用

字符串中包含空格,必须用引号括起

变量生存周期
变量保存在内存中,直到脚本结束或终止

unset 清除变量

命令格式

unset  变量名

显示变量值

echo $变量名

变量与命令替换
将一个命令的输出存入一个变量中

$ DATE= date
$ echo $DATE
Fri Apr 19 19:45:17 CST 2019

命令行参数

脚本最多可以读取10个命令行参数存入特殊变量

命令行参数
用户输入命令后所跟的数据项,空格分隔

■参数传递给程序,可以改变程序行为或执行顺序
■按顺序命令行参数被命名为$0、$1、…、$9
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
参数变量应用实例
编写脚本,将当前目录下指定文件保存到用户主目
录下的keep目录中,然后调用vi编辑该文件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
exit
shell内部命令,立即终止程序运行
命令格式

exit n

■n是退出状态,也称返回码
■没有提供返回码,使用shell执行最后一条命令的退
出值
■为与其他UNIX程序/命令完成时返回一一个退出状态,保持一致, 编写shell脚本,返回给父进程一个退出状态

条件和测试

条件控制结构
某命令的执行依赖于另外命令执行的结果(返回值)
if语句为检验某个条件真假提供了一种机制
if-then结构

if [ condition ]
then
commands
...
last-command 
fi

条件前后必须加空格!

if-then-else结构在条件为假时,执行相应命令

if [ condition ]
then
     commands
     ....
     last-true-command
else
     false-command
     ..
     last- false-comand
fi

if- then-elif结构嵌套if-then-else结构,可使用elif语句

if [ condition 1 ]
then
        commands 1
elif [ condition_ 2 ]
then
      commands 2
elif [ condition 3 ]
then
      commands_ 3
      ...
      ...
else
      commands n
fi

在这里插入图片描述
test
内部命令,它计算作为其参数的表达式的真假
■真返回0,假返回非0值
■[ condition ]是test命令的一种特殊写法

在这里插入图片描述

不同类型的判断

数值比较
test命令可以判断(比较) 2个整数值
在这里插入图片描述
字符串检测/比较
test可以对1个或2个字符串进行检测/比较
在这里插入图片描述
字符串检测-z与-n
字符串必须加引号
0为真; 1为假
在这里插入图片描述
文件检测
test可以检测文件属性、长度、类型、权限
在这里插入图片描述

算数运算

expr命令

shell没有提供内部运算符进行算术运算
在这里插入图片描述
符号左右要有空格
参数只能是整数

在这里插入图片描述
在这里插入图片描述

let命令

在这里插入图片描述
(( ))let命令可以缩写为双括号

循环结构

循环结构重复执行一系列语句或命令
shell三种循环结构
for循环、while循环和unti|循环

for循环

在这里插入图片描述

while循环

在这里插入图片描述

until循环

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值