一。知识点:变量,参数传递

练习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的更多相关文章

  1. shell脚本视频学习2

    一.函数 1.函数格式 2.函数传入参数 3.手动输入函数中的参数 4.函数返回值 成功返回0,失败返回1 5.输入一个目录,判断目录是否存在,如果不存在则给出提示,如果存在则提示输入要创建的文件名, ...

  2. 详细介绍Linux shell脚本基础学习

    Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提.1. Lin ...

  3. Shell脚本编程学习入门 02

    Shell脚本编程学习入门是本文要介绍的内容,我们可以使用任意一种文字编辑器,比如gedit.kedit.emacs.vi等来编写shell脚本,它必须以如下行开始(必须放在文件的第一行):   #! ...

  4. Shell脚本的学习(二)

    Shell脚本的学习(二) 方法: 1) 一个计算器: 2)递归实现打印目录    3)方法调用

  5. Shell脚本的学习(一)

    Shell脚本的学习(一) 一)代码式shell脚本简介 1.下载 Xshell 5 建一个文件夹 mkdri home/data ; 1)查看一个在data里建一个1.sh 查看是否建立成功. 2) ...

  6. Linux shell脚本全面学习

    Linux shell脚本全面学习 1. Linux 脚本编写基础 1.1 语法基本介绍 1.1.1 开头 程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh 符号#!用来告诉系统它 ...

  7. Linux shell脚本基础学习详细介绍(完整版)二

    详细介绍Linux shell脚本基础学习(五) Linux shell脚本基础前面我们在介绍Linux shell脚本的控制流程时,还有一部分内容没讲就是有关here document的内容这里继续 ...

  8. Linux shell脚本基础学习详细介绍(完整版)一

    Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提.1. Lin ...

  9. Shell脚本基础学习

    Shell脚本基础学习 当你在类Unix机器上编程时, 或者参与大型项目如k8s等, 某些框架和软件的安装都是使用shell脚本写的. 学会基本的shell脚本使用, 让你走上人生巅峰, 才怪. 学会 ...

随机推荐

  1. Docker容器时间与主机时间相差8小时

    查看主机时间 [root@localhost ~]# date 2016年 07月 27日 星期三 22:42:44 CST 查看容器时间 root@b43340ecf5ef:/# date Wed ...

  2. 一百一十五:CMS系统之实现点击更换图形验证码功能

    把验证码渲染到到页面上 访问,显然,是标签有个内边距 去掉内边距 加一个class 如果放大看的话,还有问题 用js实现点击更换图形验证码:生成查询字符串的形式访问图形验证码接口的url,放到img标 ...

  3. 【Rxjs】 - 解析四种主题Subject

    原文地址: https://segmentfault.com/a/1190000012669794 引言 开发ngx(angular 2+)应用时,基本上到处都会用到rxjs来处理异步请求,事件调用等 ...

  4. springmvc xml文件配置中使用系统环境变量

    来源:how to read System environment variable in Spring applicationContext 答案: In order to access syste ...

  5. 数组中存放model去重

    在这个项目中出现"添加model数据"数组重复的情况,这就涉及到数组去重的问题了...... 1. 一开始使用的最笨的方法: 依次循环两个数组(原有的数组,选择的数组),双重for ...

  6. 使用checked和unchecked来对整数溢出进行检测和忽略

    在C#中,整数int32的取值为-2147483648~2147473647(可以通过int.MaxValue和int.MinValue获得)当超出这个范围后,编译器不会进行检查,仍然会进行运算,但得 ...

  7. epoll 数据库安装以及相关概念

    epoll select 只能同时处理1024个客户端, 多线程会遇到资源瓶颈,什么才是解决高并发最有效的方式呢 linux中提供了epoll 这种多路复用的IO模型,注意其他平台没有相应的实现 所以 ...

  8. Mac 安装Mysql 之 Sqlservice 区别

    Mysql 一.下载mysql    官网“Community “ 下会看到“MySQL Community Server”下方有一个“download”点击.   在Mac OS上的MySQL的版本 ...

  9. 【POJ - 3614】Sunscreen (优先队列)

    Sunscreen Descriptions C (1 ≤ C ≤ 2500) 头奶牛在海滩边晒太阳,要避免在日光浴时产生难看的灼伤,每头奶牛必须用防晒霜覆盖它的皮肤.第 i 头奶牛有一个最小和最大  ...

  10. 《精通并发与Netty》学习笔记(03 - 客户端程序编写)

    上节我们编写了netty服务端的程序,这节我们来写客户端程序 第一步:改造服务端程序为: (1)MyServer类: package com.ssy.netty.demo01; import io.n ...