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

练习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. 在业务控制方法中写入包装User的模型来收集参数

    可以在业务控制方法中书写0个或多个模型来收集客户端的参数 1)  如果多个模型中有相同的属性时,可以用user.name或admin.name来收集客户端参数 2)  用一个新的模型将User和Adm ...

  2. 一首好听的摇滚歌曲(Ever Dream),以及优美的译作

     送上一首好听的摇滚歌曲,以及优美的译作.祝大家新年快乐.happy new year!  [ti:Ever Dream][ar:Nightwish][al:Century Child][by:吖光] ...

  3. c语言数组类型默认值(c99)

    #include <stdio.h> #include <stdlib.h> int main() { ] = {}; //每个值默认0 ; i < len; i ++) ...

  4. Scrapy+redis实现分布式爬虫

    概述 什么是分布式爬虫 需要搭建一个由n台电脑组成的机群,然后在每一台电脑中执行同一组程序,让其对同一网络资源进行联合且分布的数据爬取. 原生Scrapy无法实现分布式的原因 原生Scrapy中调度器 ...

  5. php7与其他版本共存

    转自: https://zhangge.net/5088.html php7编译安装 https://zhangge.net/5075.html

  6. Java 8 新特性之 Stream 流基础体验

    Java 8 新特性之 Stream 流基础体验 package com.company; import java.util.ArrayList; import java.util.List; imp ...

  7. charles修改请求体内容

    charles修改请求体内容 问:什么是请求体?答:客户端向服务端发出的请求简称请求体,请求体中包含有许许多多的参数,每一个参数都有其特定的意义.多一个或者少一个则服务端给你返回的响应体就会不一样 一 ...

  8. python装饰器的构建

    #!/usr/bin/python3# -*-coding:utf-8 -*-# @Time : 2019/9/27 17:04# @Author : v_ctaozhang import funct ...

  9. 配置nova-compute在不同的hypervisors上使用不同的存储后端

    说明:主参考:https://www.sunmite.com/openstack/use-local-storage-for-different-hypervisors.html 在控制节点上执行 1 ...

  10. ip地址查询python3小工具_V0.0.1

    看到同事在一个一个IP地址的百度来确认导出表格中的ip地址所对应的现实世界的地址是否正确,决定给自己新开一个坑.做一个查询ip“地址”的python小工具,读取Excel表格,在表格中的后续列输出尽可 ...