Linux从入门到精通5

10shell基础编程1

10.1 Shell基础-概述

Linux从入门到精通5
Linux从入门到精通5
把我们的操作命令,翻译成内核可以识别的0101语言,然后内核会把操作结果返回给shell,经解释返回给我们
widows也有shell,图形交互界面就是它的shell
让我有个地方可以输命令
Linux从入门到精通5
除了作为接受用户的命令 ,也可以作为一种编程语言
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Bash Shell
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
最后一列是用户的登陆后的权限

10.2 Shell基础-脚本执行方式

Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
基本上程序必须用路径来执行,有的命令不需要其实是一种简化操作
方式二:直接用bash命令,连权限都不用赋
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
这个脚本文件是在window中编辑成功的
所以要把脚本从windows格式转化为linux格式
Linux从入门到精通5

Linux从入门到精通5
Linux从入门到精通5

Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5

10.3.1 Shell基础-Bash基本功能-历史命令与补全

Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5

10.3.2 Shell基础-Bash基本功能-别名与快捷键

Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
所有的命令其实都是靠路径来执行的
ls可以不打路径,是因为4
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
cd是bash自带的,根本没有路径
用命令行定义的别名重启会失效
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5

10.3.3 Shell基础-Bash基本功能-输入输出重定向

Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
date覆盖了ls
Linux从入门到精通5
追加上了
Linux从入门到精通5
Linux从入门到精通5
2和<<没有空格
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5

Linux从入门到精通5
执行但不输出,即把输出扔到垃圾桶
Linux从入门到精通5
Linux从入门到精通5
执行操作的命令本来应该通过键盘写入,但是现在 通过文件来
Linux从入门到精通5
ctrl+d
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5

10.3.4 Shell基础-Bash基本功能-多命令顺序执行与管道符

Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
就算中间有报错,也不会影响后面的命令的执行
Linux从入门到精通5
我们就可以知道执行一个命令传100M需要用多长时间
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5

Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5

Linux从入门到精通5

Linux从入门到精通5

Linux从入门到精通5

Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5

Linux从入门到精通5
Linux从入门到精通5

Linux从入门到精通5

10.3.5 Shell基础-Bash基本功能-通配符和其他特殊符号

Linux从入门到精通5
Linux从入门到精通5
2:删除当前目录下的所有文件
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
通配符用来匹配文件名
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
单引号和双引号的区别。单引号是原样输出、双引号才是代表

Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
反引号和$()的区别
Linux从入门到精通5

Linux从入门到精通5

Linux从入门到精通5
$失去作用

通配符:匹配内容
单引号和双引号:单引号括起来的内容没有特殊符号,双引号括起来的内容会有特殊符号
反引号和$():括起来的是系统变量

10.4.1 Shell基础-Bash变量-用户自定义变量

Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
set可以查看到系统中所有的变量

10.4.2 Shell基础-Bash变量-环境变量

从上到下,限制的越来越严格
Linux从入门到精通5
Linux从入门到精通5

Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
年龄和性别在子shell中还在,但是名字不在了
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
执行命令要想运行,要用路径
但是系统路径并没有写路径,就能运行
Linux从入门到精通5
敲入一个命令后,就在path中去找
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
小写w显示出了完整的路径
Linux从入门到精通5
第8条命令
可以按照自己的习惯来该提示符
但是还是默认的比较习惯

10.4.3 Shell基础-Bash变量-位置参数变量

Linux从入门到精通5
位置参数变量的变量名称和作用是固定的
Linux从入门到精通5
Linux从入门到精通5
输出后面参数的结果
Linux从入门到精通5
Linux从入门到精通5
带上参数后就能将参数输出了
$用来接收参数
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
脚本中没有提示让用户输入两个参数才能运行,没有输入参数的话怎么办呢?
把命令行中的参数传递到脚本中
Linux从入门到精通5
Linux从入门到精通5

Linux从入门到精通5
还要设定执行权限哟
Linux从入门到精通5
*所有的参数看成一个整体
@区分对待
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5

Linux从入门到精通5
Linux从入门到精通5
第一个循环把所有的参数当成一个整体
第二个参数把每个参数当成一个独立的参数
可以在命令执行的同时写入参数

10.4.4 Shell基础-Bash变量-预定义变量

Linux从入门到精通5
Linux从入门到精通5
命令找不到时报错设定为127
Linux从入门到精通5
文件找不到报错为2
Linux从入门到精通5
&代表后台执行
最小化其实就是放入后台,
显示当前进程的id,显示后台进程的id
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5

10.5.1 Shell基础-Bash变量-数值运算与运算符

Linux从入门到精通5
这是因为默认的类型是字符串类型
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
两个小括号代表要用数值运算
Linux从入门到精通5
Linux从入门到精通5
越靠上优先级越高
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5

10.5.2 Shell基础-Bash变量-变量测试与内容替换

Linux从入门到精通5
通过判断x的值,来判断y是否有值。
y不存在,x就等于一个新值。
y存在但为空,x也为空。
y有值,x就等于y。
Linux从入门到精通5
Linux从入门到精通5

Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
减号
冒号
加号
减号
等号:不光给x赋值,还要给y
问号:值不存在时,输出 给用户看

Linux从入门到精通5

10.6.1 Shell基础-环境变量配置文件-简介

环境变量:在一系列的shell中生效,还有默认环境变量。
环境变量的配置文件:专门用来放环境变量的文件
Linux从入门到精通5
如果修改了配置文件,source让强制生效
Linux从入门到精通5
path:命令的路径
histsize:历史命令保存条数
psi:提示符
hostname:主机名
Linux从入门到精通5
临时生效
Linux从入门到精通5
etc:对所有登陆系统的用户都有效
~:家目录,只对当前用户有效,这两个是隐藏文件用.开头

10.6.2 Shell基础-环境变量配置文件-作用

Linux从入门到精通5
用户登录后首先调用etc/profile etc/profile/*.sh
Linux从入门到精通5

/etc/profile

:用户输入用户名和密码后,第一步读取了/etc/profile文件
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
判断出管理员,所以让它读那几个
Linux从入门到精通5
默认的权限
umask
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
最主要的是读取定义语言的这个脚本
Linux从入门到精通5
Linux从入门到精通5
中文编码环境

XXX/.bash_profile

Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
这个文件如果存在就调用,然后给path中追加一个自己本身用户的bin
Linux从入门到精通5

XXX/.bashrc

Linux从入门到精通5
Linux从入门到精通5
定义了系统别名,调用下一个文件

/etc/bashre

Linux从入门到精通5
Linux从入门到精通5

Linux从入门到精通5

Linux从入门到精通5
很多都重复了,比如说umask等等。只要是重复的值,都是定义的不需要输入用户名和密码的那种情况生效。

10.6.3 Shell基础-环境变量配置文件-其他配置文件和登录信息

Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
之前讲过查历史命令
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
欢迎信息,
Linux从入门到精通5

加一个/l
Linux从入门到精通5
Linux从入门到精通5
因为linux本地支持6个终端,用alt+Fn来切换,加上\l可以知道当前是哪个。但这只对本地linux有效
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
这下欢迎信息出现了,但不支持
Linux从入门到精通5
这是登陆后的欢迎信息
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
本地终端必须安装中文插件才能支持中文,cch,con等等

11shell基础编程2

11.1 Shell编程-正则表达式

Linux从入门到精通5
通配符:* ? []。匹配文件名,因为一些命令不支持正则表达式。完全匹配
正则:在文件中匹配字符串,一些命令支持正则表达式。包含匹配
Linux从入门到精通5
Linux从入门到精通5
完全匹配
Linux从入门到精通5
只要含有size就会列出 ,包含匹配
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
匹配包含a的所有字符,即a出现0次或者任意多次。即列出了整个文档
Linux从入门到精通5
aa匹配有一个连续的a出现
Linux从入门到精通5
aaa匹配有两个连续的a出现
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
相当于通配符中的?
Linux从入门到精通5
.*匹配任意字符,任意个数
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
匹配空白行
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
只要有字符结尾
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
最少一个a最多两个a

11.2.1 Shell编程-字符截取命令-cut命令

Linux从入门到精通5
grep是提取行 cut是提取列
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
中间的是制表符而不是空格
Linux从入门到精通5
Linux从入门到精通5
默认分隔符是制表符
冒号作为分隔符
Linux从入门到精通5
Linux从入门到精通5
结合使用grep和cut
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
只有普通用户有/bin/bash
管理员是/sbin/nologin
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
写一个脚本,如果使用率大于80%报警
Linux从入门到精通5
Linux从入门到精通5
完全没有作用,是因为这个分隔符是多空格不是制表符
用-d指定分隔符是空格也不行,它制定了一个空格的分隔符,它认为第五列是空格
Linux从入门到精通5
以为用awk命令来实现

11.2.2 Shell编程-字符截取命令-printf命令

cut提取字符段
标准输出格式,用来支持awk命令
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
只有第一个%s起了作用,需要用’'把%s们括起来
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
printf不能直接输出文件名中的内容
Linux从入门到精通5
因为awk里面不能使用cat等显示,必须得用printf
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5

11.2.3 Shell编程-字符截取命令-awk命令

cat vi等都不用我们手动调整格式
cat不能截取以空格作为分隔符的输出结果
Linux从入门到精通5
而awk可以
awk命令很复杂,不仅可以进行字符截取,还可以编程
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
第2列 制表符 第6列 换行
Linux从入门到精通5
cat命令不能处理df这样的结果,是因为里面是空格符
Linux从入门到精通5
而awk可以
Linux从入门到精通5
超过80%就报警
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
在执行之前打印出
Linux从入门到精通5
Linux从入门到精通5
指定分隔符
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
但是第一行没有处理,是因为awk是读完第一行之后才开始执行处理
Linux从入门到精通5
这表示在我读取第一行命令之前,就把分隔符写进去
Linux从入门到精通5
在所有的命令都执行完后执行的一条命令
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
awk命令比较复杂

11.2.4 Shell编程-字符截取命令-sed命令

cut、printf、awk都是进行字段提取的
printf是进行行提取
cut和awk是进行列提取
sed命令时用来进行流编辑器
Linux从入门到精通5
vi只可以修改文档 sed不光可以修改文件,可以从管道符接收数据来修改,可以直接修改命令的结果
sed在写shell脚本时很重要
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
其实系统命令也支持/,它会认为你这个命令没有输完,等待你执行接下来的命令。
进行数据替换时也可以用/。
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
p是输出,2p就是输出第二行
Linux从入门到精通5
它不光把第二行输出了,还把所有的内容都给输出了一遍,即第二行输出了两遍
如果只想看第二行,而不想得到全部的内容,那么就需要加-n选项。
Linux从入门到精通5
所以一般用p选项打印的话,都要加上-n。
注意,只要不加-i,所有的操作都不影响文件本身,只影响了屏幕输出。
我们来看看除了操作文件本身,它还可以来干什么。
Linux从入门到精通5
放到管道符之后,它还可以接收命令的结果。
Linux从入门到精通5
Linux从入门到精通5
这个文件就只有4行,我删掉2~4行,那么就只剩下第一行的数据了,直接输出剩余的结果。
Linux从入门到精通5
但是并没有把文件的内容真正的给删除掉,只要不加-i。
Linux从入门到精通5
Linux从入门到精通5
a代表追加 i代表插入
/表示一行还没输完,还要接着输入
Linux从入门到精通5
在第二行的前面插入了。
\允许多行的输入。追加、替换、插入都允许多行输入。
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
要想保存在文件中,加-i,这时候没有输出,但是cat文件,输出了结果。
Linux从入门到精通5
-e是允许多个命令同时执行,用;分开

11.3 Shell编程-字符处理命令

Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
允许手工指定分隔符,还是排序,但是不是按照整个文件行首的字母排序了,而是手工指定以:作为分隔符,然后用第三个字段开始到第三个字段结束排序,其实就是使用第三个字段来排序,
Linux从入门到精通5
这时候就会发现会从用户的uid来排序
没把整个uid当成是字符串,而是按首字符来排序的,所以前面是1 10 11而2 3都在后面。
为了能够让它识别这些数字的大小,需要加-n。意思是把提取出来的字符串当做数值型的来计算。
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
依次是行数、单词数、字符数
Linux从入门到精通5
还可以统计命令的输出

11.4 Shell编程-条件判断

测试一个条件是否成立
Linux从入门到精通5
块设备文件、字符设备文件、管道文件、套接字文件都是一些特殊的文件类型
常用的就是目录文件、普通文件、文件是否存在
Linux从入门到精通5
Linux从入门到精通5
怎么没有输出结果呀,可以通过echo来判断上一条命令是否执行正确,0是正确1是错误。
Linux从入门到精通5
Linux从入门到精通5
test和[]都可以,[]更为常用。
为什么需要这种方式来判断在不在?因为ls是给用户看,而test这种是给程序来看。
Linux从入门到精通5
双&&符是逻辑与,这样可以不用再手动输出执行结果
Linux从入门到精通5
Linux从入门到精通5
root是存在,但它不是普通文件,而是目录文件。
Linux从入门到精通5
读写执行
Linux从入门到精通5
不管是所有者、所属组、其他人,只要有一个有w权限,就会说它有写权限
Linux从入门到精通5
Linux从入门到精通5
硬链接:文件1,2做了硬链接,文件名可以随便改,只有inode号可以判断他们是否是同一个文件
软链接:会有箭头表明它的源文件
Linux从入门到精通5
把它们做为硬链接。
Linux从入门到精通5
只要一个方法,看他们的inode号。这是需要人为肉眼,要想让程序要判断。
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
判断是否为空,是yes否no
Linux从入门到精通5
eq来判断是判断数值,==适用于字符
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5

11.5.1 Shell编程-流程控制-if语句

Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
如果分区超过了80%,那么就警告
Linux从入门到精通5
把这个数值提出来
Linux从入门到精通5
grep提取行
Linux从入门到精通5
awk提取列
Linux从入门到精通5
截取字符串,以百分号作为分隔符
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
备份就是从原始位置赋值一份到别的位置
Linux从入门到精通5
如果这个目录存在
把当前的日期输出到一个临时文件中,覆盖。将文件大小追加到临时文件中
进入这个备份的位置,将刚刚那个临时文件进行压缩
如果目录不存在,手动创建这个目录,然后一样
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
每隔15分钟执行一次,如果服务器down了,就会主动告诉你并且帮你重启服务器
如何判断一个服务是运行的
Linux从入门到精通5
Linux从入门到精通5
用ps命令查看现在的进程
Linux从入门到精通5
提取有没有apacher的进程
我们现在把apche装上
Linux从入门到精通5
Linux从入门到精通5
装完启动一下
Linux从入门到精通5
启动完查,证明运行了
有些情况下虽然有进程但是死机了,用ps判断不一定准,别的方法
Linux从入门到精通5
还有一种方法是判断端口,只要看到80端口,就说明apache启动了,但是也不准

最有效的方法是通过nmap命令,远程扫描命令,如果它能连接上apche则会返回状态
我们来安装nmap
Linux从入门到精通5
-sT扫描指定服务器上开启的TCP端口
Linux从入门到精通5
现在要做的是,截取这个命令的输出
排除干扰项
Linux从入门到精通5
只提取包含TCP的行
Linux从入门到精通5
然后再提取包含服务器的行
Linux从入门到精通5
截取第二段
然后把这个执行的结果赋给变量,写语句
如果关着,把输出结果丢到垃圾箱,然后重启
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
现在启动了,所以现在正确的访问日志有了
Linux从入门到精通5
停掉apche
Linux从入门到精通5
Linux从入门到精通5
接下来的任务就是定时让它运行
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
-e是文件为真,!取反
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5

11.5.2 Shell编程-流程控制-case语句

多分支判断语句
Linux从入门到精通5
case:只能有一种判断关系
Linux从入门到精通5
Linux从入门到精通5
打印选择列表的情况
Linux从入门到精通5
Linux从入门到精通5
*不用打双引号!去掉
这个变量是否是这个值还是那个值

11.5.3 Shell编程-流程控制-for循环

Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
把所有的包放在了lamp目录中,把所有后缀名为压缩包的都放到ls.log这个文件中
Linux从入门到精通5
循环执行,解压,把执行结果信息输出到垃圾站中
Linux从入门到精通5
Linux从入门到精通5
这种for循环的好处:不需要事先执行循环的个数
Linux从入门到精通5
用双小括号括起来才允许进行加减乘除运算
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
事先知道要添加多少个用户,用到第二种循环
用户名、个数、初始密码
先要判断输入的名字、个数、初始命令不为空,才能往下执行
还要判断输入的num是数字,sed是正则表达式,包含匹配。如果是数字替换为空,如果y为空,则证明为数字
循环num次,添加用户st1 st2 …
Linux从入门到精通5
Linux从入门到精通5
结果:
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
脚本没有执行

11.5.4 Shell编程-流程控制-while循环与until循环

Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
少加了个100
Linux从入门到精通5
Linux从入门到精通5
Linux从入门到精通5
不成立则执行循环,直到
Linux从入门到精通5
在执行的同时进行编译,但是效率 要慢

怎么建立编程思想:多练