复习linux——基础shell编程

脚本实现

创建脚本

1.创建文本文件      注意:文本文件必须有执行权限

如何修改权限

2.脚本内容第一行添加shebang机制   如:#!/bin/bash

3.执行脚本方法

使用bash执行    注意$PATH中必须有该文件明确的路径

绝对路径执行    写出文件具体路径即可

相对路径执行    切换到脚本目录当中 写出文件相对路径即可

调试脚本

1.只检查脚本语法是否错误        bash -n  检测语法错误

2.调试并执行   bash -x    检测命令错误或逻辑错误

变量

1.变量类型

内置变量

用户自定变量

2.以变量的生效范围划分变量类型及之间的区别

普通变量

环境变量

本地变量

3.三种常见的变量赋值

4.set显示已设置的变量    unset删除变量

环境变量

1.声明环境变量 export  |   declare -x

2.变量引用

3.显示所有环境变量

只读变量

1.声明只读变量     readonly  |  declare -r

2.查看只读变量

位置变量

$0

$1 $2

$*和$@的区别    注意:$*和$@只有在被双引号包起来的时候才会有差异

$#

2.清空所有位置变量  set --

退出状态码

$?保存状态码的相关数字   取值范围:0-255

0

1-255

展开命令行

1.防止扩展 \

加引号来防止扩展   单引号 ' ' 和双引号 " "的区别

2.变量扩展

` `  \    !

脚本安全和set

1.$-变量

h i m b h s各代表的意思

2.set命令实现脚本安全

格式化输出printf

1.常用格式替换符

%s  %d   %f   %o  %o %x  %X  %c  %%

%-10s        -表示左对齐   10表示10个字符宽

%.2f   表示小数点后显示的小数位数

2.常用转义字符

\n  \r  \t  \v 

运算

1.实现运算方法

let ...=算术表达式      ((..=算术表达式))   $(算数表达式)  $[算数表达式]  $((算术表达式))

2.随机数生成器变量   $RANDOM

逻辑运算

&    |      !     ^

短路运算

1.短路与 &&   第一个为真才会判断第二个是否为真

2.短路或 | |     第一个为假才会对第二个进行判断

3.相组和   CMD1 && CMD2  | | CMD3    注:进行组合必须为该逻辑顺序

第一个为真则判断第二个            第一个为假判断第三个

条件测试命令

1.条件命令测试条件

test .....   [....]   [[ .... ]]

数值测试

-eq  -ne -gt -ge -lt  -le 各代表的含义

==   !=   >  >=   <   <=

字符串测试

字符串是否为空  -z STRING   字符串是否不空  -n STRING

=~ 左侧字符串是否能够被右侧的PATTERN匹配

文件测试

1. 存在性测试

-e    -b   -c   -d  -f   -p -s  -l

2.文件属性测试

-s是否存在且非空    -t fd 是否在终端打开  fd命令可以将后台命令转为前台工作                                -N 上一次被读取之后是否被修改过  -O 有效用户是否为文件属主   -G 有效用户是否为属组          -ef  前文件是否是后文件的硬链接  -nt 前文件是否新于旧文件  -ot  前文件是否旧于后文件

关于()和{}

(list )会开启子shell,不再影响后续的环境

  { list }  不会启子shell,会影响当前shell环境

read接受输入

流程控制

条件选择

1.if选择结构

if [ command   ];then .... fi

if [ command   ];then .... elif [   ]; then.... else ... fi

2.case语句

case 变量引用 in

PAT1)  分支1  ;;

PAT2) 分支2 ;;

*)  默认分支;;

esac

循环

1.循环for

for ... in ... ;do

      循环体

done

2.循环while

while ...; do

   循环体

done

3.循环until

untile ...;do

    循环体

done

注意:while循环和until循环区别:while进入循环,条件是真   until进入循环,条件是假

循环控制语句

1.break

2.continue

注:break和continue的区别    break是跳出整个循环(即对外层循环有影响,能够结束外层循环)

continue仅影响内层循环 (不会终止外层循环,仅终止当前外层循环)

3.shift

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值