shell 函数、递归粗解

函数:(就是一个功能。)
定义函数:描述一个功能的过程

[function] 函数名()
	{
		command1
		...
	}

调用函数:执行一次函数
函数名

传递实参给函数:
函数名 实参1 实参2 实参3 …
函数中接收实参:

	$1 $2 $3 $4....		Shell变量
		$# 传递实参的个数
		$@ 引用所有的实参
	
f(x)=3x+2	   f(2)=3*2+2=8

返回值: return 字符串
调用函数时,若有返回值,通过$?来获取
注:只有1Byte的宽度 <=255,因为Shell一般只用于配置,功能函数一般只返回TRUE或FALSE

递归:自已调用自己。
本质: 1、when从什么时候开始 2、when到什么时候结束 3 what每次递归需要干嘛
eg:打印1-100
1、从1开始 2到100结束 3每次打印当前数字

常用的Shell命令:
1、查看网卡配置信息:ifconfig
2、判断某主机是否能通信 ping 主机地址

Shell:是一门弱语言(没有多个类型,只有字符串 ),
Shell并不需要关心此串是什么,如果需要进行数学运行,必须用expr ,let 等等命令来辅助计算。
Shell变量:
1、局部变量:在Shell代码定义的变量,都称为局部变量(用户变量) (小写)
2、环境变量:用户经常需要用到某些值时,Shell将这些值定义全局变量
(大写)
查看进程ID:
特殊变量:
$num (num代表数字) $1第一个实参
$? 代表上一个函数或上一个命令返回的值

文件流:向该文件写入信息的接口 ->a.txt
流重定向:将当前的文件流改变到其他文件中 >(截断长度为0) >>(追加到文件末尾)
屏幕(没有缓冲,不能显示内容):

/dev/null

练习:
1、打印 n -m区间的数字
2.求n-m区间的总和
在这里插入图片描述
运行结果
在这里插入图片描述

3.求m(4位数),逆序打印? 12345
在这里插入图片描述
运行结果
在这里插入图片描述

4、求192.168.8.141~192.168.8.254区间的主机是否在线
5、求当用系统用多少个用户?
/etc/passwd
6、改进第4题:
1、屏幕上显示一共有多少台主机在线
2、在online.data文件中
在线主机:****
在线主机:****
一共有**台主机在线
在这里插入图片描述
7、 打印100-1
在这里插入图片描述

在这里插入图片描述

8、遍历某层文件 /home
9、在第8基础上,遍历深层次文件
10、判断某路径下的某个文件是否存在?
11、将某路径下所有tmp开头的文件或目录移动指定位置
在这里插入图片描述

任务: 8:40-9:00
1、默写: 打印200-100的数字 (递归)
2、默认:遍历子文件夹
3、二分查找

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值