zoukankan      html  css  js  c++  java
  • 编程原理

    一·编程介绍
    早期编程:
                  驱动 硬件默认是不能使用的
                  不同的厂家硬件设备之间需要进行之指令沟通,我们需要驱动程序来进行翻译
                  更趋近于硬件开发的工程师,要学习汇编语言;而汇编语言被厂家所限制;
    现在编程:基于高级语言以及超高级语言 更好的让程序员能够实现编程功能
    编程语言分类:
                 高级语言 超高级语言需要翻译成计算机可读语言(二进制指令)

                 解释型--逐行翻译 逐行执行 shell python Java

                 编译型--一次编译 全部执行 C语言 Java C++

                 程序 = 指令 + 数据
                 面向对象 -- 侧重于数据的编程语言
                 面向过程 -- 侧重于指令
    编程语言的执行方式:(一行一行)
                 1.顺序执行
                 2.循环执行-- *for while untile
                 3.选择执行--分支
    添加用户
    if id $* &>/dev/null;then
    echo "这个用户已经存在"
    else
    for i in $*;do
    userass $i
    echo"123456"|passwd --stdin "$i" &> /sev/null
    echo "用户 $i 添加成功“
    done
    exit 0
    fi

    二 .shell脚本语言介绍
                  优点:调用操作系统的命令行,来实现所有的功能;
                  缺点:没有库调用(区分python)
    每天备份一次/etc目录下的所有文件
                  tar -cvzf /tmp/etc.bak /etc

    shell脚本包括:

                  *命令*(非常重要)

                   变量(全局变量 局部变量 本地变量 传参)

    三.逻辑关系

    shell脚本第一句话必须写
    #!/bin /bash -- 定义脚本解释器(普通认为#为注释,这里特殊)shebang
    #!/usr/bin/python/etc/shells --查看当前系统支持的shell程序

    echo $SHELL --查当前会话的shell程序
    /etc/passwd --制定了用户默认支持的1shell程序(/sbin/nologin)
    shell的执行:
               1.bash命令来执行脚本
                          -n查看shell脚本的逻辑错误(注意:单词写错可不管)
                          -x逐行显示执行的脚本程序(方便排错)

               2.授权 chmod u+X filename.sh
                          使用全路径执行脚本,即可 

               3.变量
                          环境变量
                          局部变量 declare 命令 --定义变量类型(被命名的内存空间用来存储临时数据的)
                          本地变量 local一般使用在涵数中
    变量类型: 

    数值型:
    1.整形 int
    2.浮点型 float
    3.布尔值 0 1(真假)True False

    字符串:
    1.普通字符及字符串
    2.数组

    编程语言分类:
                     强类型语言 --数值必须被定义,才能进型出力或运算
                     弱类型语言 --编程语言可以自动识别变量类型
                    【*多态*】一个数据具有多个属性,而最后使用的属性取决于和它进行运算的数据

    传参
                      $? --上一条命令的执行状态 0 正确 1-255 错误
                      $1 $2 ...${10} --命令后面传入脚本的数据,以空格为分隔符

                      $# --统计传参数量${$#}
                      $* --表示所有的传参,所有的传参以字符串形式输出
                      $@ --表示所有的传参,所有的传参以列表形式输出

    定义变量格式:
                      NAME = VALUE(一个等号叫赋值,两个等号叫判断)
                     我们通过命令declare定义变量类型
                     declare -i 整数
                     declare -a 数组


    变量命令:
                     1.下划线的方式指定变量名称
                     2.驼峰命名方式

    四.test文件测试,条件判断
    在脚本中,我们需要进行语句分支;说白了,就要做判断
    判断就是使用test命令来实现
    使用格式:
    1.test[option]file
    2.[ ]
    常见的test选项
    比较选项:
                      -eq 等于
                      -ne不等于
                      -gt大于
                      -ge大于等于
                      -lt小于
                      -le小于等于

    判断选项:
                    -f判断是否为普通文件
                    -d 断是否为目录文件
                    -L 断是否为连接文件
                    -r -w - x判断文件是否具有读写执行权限
    关联选项:
                    -o或 -a与 !非
    字符串判断:
                    =判断两边的字符串是否相等
                  !=不等于
                   -z判断字符串是否存在、
                   -n与-z相反 存在为假 不存在为真

    五.逻辑运算

    与 &&
    或||
    非!=
    这个逻辑运算符,前后对接的都是单独存在的命令;

    [$? -eq 0]&& exit 0|| exit 1

    六.算术运算
    let 1+1
    expr 1*1
    $[$1+10]
    $(($1/$2))

  • 相关阅读:
    oracle 主键自动地址实现
    解构赋值
    那些朋友那些话系列
    那些朋友那些话
    白鹭记事
    该如何存在
    上海秋季HCC小记
    For the person you never see again
    寻城记
    2013年的国庆
  • 原文地址:https://www.cnblogs.com/jklp-1234/p/11347493.html
Copyright © 2011-2022 走看看