shell脚本视频学习1
一。知识点:变量,参数传递
练习1:使用shell脚本,输出当前所在的目录
练习2:计算/etc目录下有多少个文件,用shell脚本实现
ls -l--->数一下,
ls -l|wc -l
(1)实现统计任何指定目录下的文件个数,加入输入界面
(2)直接通过执行命令中传入参数
脚本:
执行后:
二。重定向
正确的:
错误的:
命令
脚本
三。分支,循环
1.判断/root目录是否Wie空
涉及知识点:字符串间的判断: ==字符串是否相等,!=是否不相等
2.练习:通过用户输入任意目录判断是否为空
3.判断用户输入的用户名和密码是否为admin 123456,如果是则提示登录成功,否则提示失败
4.输入数字,判断是否大于0,如果大于0则将该数字-1并输出,否则+1输出
变量运算的多种写法
-eq/-ne/-gt/-ge/-lt/-le
((i++)) ((i+=1)) i=$[$i+1] let i=i+1 i=$(($i+1))
s=$(($s+$i)) s=$[$s+$i] ((s=$s+$i))
5.判断用户输入的目录是否存在,如果存在则统计目录下的文件个数,否则提示用户该目录不存在
test 参数 变量名---->测试文件的状态
-e 表示文件是否存在
-f 表示文件是否存在且为文件
-d 表示文件名是否存在且为目录
-r 可读
-w 可写
-x 可执行
6.if...elif...else练习
判断学生的成绩,大于90-100提示优秀,80-90之间提示良好,70-80之间则提示一般,60-70之间提示及格。其他则提示不及格
7.判断用户输入的内容是否为空,为空则提示,不为空则判断是否为目录,不为目录则判断是否为文件,否则提示错误信息
-r -r filename 文件是否存在且可读
-w -w filename 文件是否存在且可写
-x -x filename文件是否存在且可执行
-f -f filename 文件是否存在且是普通文件
-d -d filename 文件是否存在且是一个目录
-e -e filename 文件是否存在
-n -n str1 字符串长度是否不等于0
-z -z str2 字符串长度是否等于0
8.case $变量名 in (相当于if else)
"值")
语句;;
"值")
语句;;
...
(1)输入一个字母,判断该用户选择哪款产品,A:笔记本 B:电饭煲 C:小台灯
(2)请输入对客服的满意度,【0-3】不满意,【4-6】满意,【7-9】非常满意
区间用【】
9。循环语句 :for
(1)输出1-10之间的数
10.while循环
总结:
1.shell介绍
通常所说的shell就是shell脚本,它是一门脚本语言,弱类型
2.shell规范
第一行内容为#!/bin/bash
#注释
是以.sh结尾的文件
3.shell语法
变量
定义
释放变量
变量值如果有空格,需要加引号
"" :输出变量对应的值
'':原样输出
``:定义命令变量时需要使用``
命名规范
输出变量:echo $变量名
输入:read 变量名
read -p "提示信息" 变量名
向文件传递参数:
$1--->传递第一个参数
$2---->....
$3--->....
$n---->......
$0:显示的是文件名称
$@:显示所有的参数
$#:显示的参数的个数
重定向:将内容保存到文件中
正确命令: 用数字1表示, >覆盖,>>追加
错误命令:用数字2表示,>覆盖,>>追加
程序的结构:
分支结构:
if...else分支:
逻辑运算符:-a -o !
比较运算符:-ge -gt -lt -le -eq -ne
测试文件的状态:test 参数 文件名
字符串判断:== ,!=
文件判断:-d -e -f -w -r -x .....
if...elif...else分支
case分支:
注意:
1.case这一行的最后为in
2.;;表示语句的结束
3. *:表示默认
4.esac:表示case语句结束
5.值:可以是字符串、数字、还可是区间范围【0-9】之间
循环结构
for循环
格式:for 变量名 in 列表
do
语句
done
命令:seq start size max
shell脚本视频学习1的更多相关文章
- shell脚本视频学习2
一.函数 1.函数格式 2.函数传入参数 3.手动输入函数中的参数 4.函数返回值 成功返回0,失败返回1 5.输入一个目录,判断目录是否存在,如果不存在则给出提示,如果存在则提示输入要创建的文件名, ...
- 详细介绍Linux shell脚本基础学习
Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提.1. Lin ...
- Shell脚本编程学习入门 02
Shell脚本编程学习入门是本文要介绍的内容,我们可以使用任意一种文字编辑器,比如gedit.kedit.emacs.vi等来编写shell脚本,它必须以如下行开始(必须放在文件的第一行): #! ...
- Shell脚本的学习(二)
Shell脚本的学习(二) 方法: 1) 一个计算器: 2)递归实现打印目录 3)方法调用
- Shell脚本的学习(一)
Shell脚本的学习(一) 一)代码式shell脚本简介 1.下载 Xshell 5 建一个文件夹 mkdri home/data ; 1)查看一个在data里建一个1.sh 查看是否建立成功. 2) ...
- Linux shell脚本全面学习
Linux shell脚本全面学习 1. Linux 脚本编写基础 1.1 语法基本介绍 1.1.1 开头 程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh 符号#!用来告诉系统它 ...
- Linux shell脚本基础学习详细介绍(完整版)二
详细介绍Linux shell脚本基础学习(五) Linux shell脚本基础前面我们在介绍Linux shell脚本的控制流程时,还有一部分内容没讲就是有关here document的内容这里继续 ...
- Linux shell脚本基础学习详细介绍(完整版)一
Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提.1. Lin ...
- Shell脚本基础学习
Shell脚本基础学习 当你在类Unix机器上编程时, 或者参与大型项目如k8s等, 某些框架和软件的安装都是使用shell脚本写的. 学会基本的shell脚本使用, 让你走上人生巅峰, 才怪. 学会 ...
随机推荐
- Hibernate3核心API-Session接口
Session是应用程序与数据库之间交互操作的一个单线程对象,是 Hibernate 运作的中心,所有持久化对象必须在 session 的管理下才可以进行持久化操作.此对象的生命周期很短.Sessio ...
- UI布局属性大全
第一类:属性值为true或false android:layout_centerHrizontal 水平居中 android:layout_centerVertical 垂直居中 android:la ...
- C# 程序的关闭 讲究解释
程序的关闭是很讲究的,处理的不好的话,将软件连续开启和关闭,当数次后在启动软件后程序会崩溃.或者程序退出很慢.细节决定成败,一款好的软件应该从各方面都要做严格地反复地推敲,力争做到无可挑剔. 有 ...
- maven项目无法导入Oracle的jdbc连接jar包【我】
导入一个maven项目,启动一直报错 找不到Oracle的jdbc连接驱动Class, 用Eclipse导入 ojdbc14.jar 连接包,各种方法都无效,无法引入到部署后的lib目录中,可以直接放 ...
- python同时执行两个函数
使用两个线程同时执行两个函数, def fun1(): while True: time.sleep(2) print("fun1") def fun2(): while True ...
- CentOS8 使用 aliyun 阿里云 镜像站点的方法
CentOS8现已可使用国内的aliyun阿里云镜像站,方法如下: 用cd命令切换到yum.repos目录,备份原始的3个repo文件:cd /etc/yum.repos.d/sudo cp Cent ...
- 修改主机名(/etc/hostname和/etc/hosts区别)
ubuntu永久修改主机名 1.查看主机名 在Ubuntu系统中,快速查看主机名有多种方法:其一,打开一个GNOME终端窗口,在命令提示符中可以看到主机名,主机名通常位于“@”符号后:其二,在终端窗口 ...
- Qt在控制台输出中文的解决办法(转载)
转载网址:https://blog.csdn.net/qq_22512533/article/details/75408984 按下快捷键Win+R,输入regedit打开注册变编辑器,依次找到 HK ...
- C#中的属性-Property
C#的属性一直都有用,但具体了解的不是很深,而且一些注意事项也没有太在意过,糊里糊涂的用着.这两天看了C#的书专门学习了一下属性,这才知道,原来属性也有这么多东西~ ~今天记录一下,算是对学习的一个检 ...
- httpContext.User.Identity.IsAuthenticated 总是为fasle
验证一直通不过,不知道问题在哪里.这个坑应该只有我自己遇到,记录一下,问题在使用swagger验证的时候出现的(说的很轻松) 如图所示,在swaager文档中,添加认证功能,此时只要我们填下登陆时获取 ...