zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    raise PDFEncryptionError('Unknown algorithm: param=%r' % param) pdfminer.pdfdocument.PDFEncryptionError: Unknown algorithm
    Hive与Hbase的区别
    HIVE—索引、分区和分桶的区别
    MapReduce编程之Semi Join多种应用场景与使用
    MapReduce编程之Map Join多种应用场景与使用
    MapReduce编程之Reduce Join多种应用场景与使用
    Mapreduce——视频播放数据分类统计
    Docker-compose实战——Django+PostgreSQL
    Docker基础教程
    1.node接口搭建--express搭建服务器
  • 原文地址:https://www.cnblogs.com/yinlili/p/11044892.html
Copyright © 2011-2022 走看看