zoukankan      html  css  js  c++  java
  • shell_day03

    编程原理

    1.编程介绍

    驱动:

      1、硬件默认是不能使用的;

      2、不同的厂家硬件设备之间需要进行指令沟通,我们需要驱动程序来进行“翻译”;

      3、更趋近于硬件开发的工程师,要学习“汇编语言”;而“汇编语言”被厂家所限制;c c++的底层就是汇编语言;

      现在编程基于高级语言,以及超高级语言,更好的让程序员实现编程功能

    编程语言的分类:

      高级语言、超高级语言需要翻译成计算机可读的语言(二进制指令)

      解释型—逐行翻译,逐行执行 shell python java

         bash -x filename.sh 逐行执行并输出

      编译型—一次编译,全部执行 c语言 c++ c# java

      面向对象—侧重于数据的编程语言

      面向过程—侧重于指令的编程语言

    编程语言的执行方式:

      【一行一行】

      1、顺序执行

      2、循环执行—*for(遍历) while(循环条件) until(和while相反)

      3、选择执行—分支 if case*

    2.shell脚本语言介绍

      优点:调用os(操作系统)的命令行,来实现所有功能;

      缺点:没有库调用(区分python)

      shell脚本包括:

        命令*(非常重要)

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

        逻辑关系

      shell的第一句话!!!(必须写)

        #!/bin/bash –定义脚本解释器(普遍认为#为注释行,这里特殊)shebang

        #!/usr/bin/python

        /etc/shells 查看当前系统支持的shell程序

        echo $SHELL 查看当前会话的shell程序

        /etc/passwd 制定了用户默认支持的shell程序(/sbin/nologin)

    shell的执行:

       1.bash命令来执行脚本

          -n 查看shell脚本的逻辑错误(注意:单词不要写错)

          -x 逐行显示执行的脚本程序(方便排错)

       2.授权chmod u+x filename.sh

          使用全路径执行脚本即可

        

          if id $* &> /dev/null;then

            echo”这个用户已经存在”

      else

         for i in $*;do

             useradd $i

          echo”123456”|passwd –stadin “$i” &>/dev/null

       done

         exit 0

      fi

    3.变量

       环境变量

       局部变量 declare命令—定义变量类型

       本地变量 local在函数中使用

       变量类型

          数值型:1、整型 int

    2、浮点型 float

    3、布尔型 01(真假)

    字符串:1、普通字符及字符串

    编程语言的分类:

      强类型语言—数值必须被定义才能处理或运算

      弱类型语言—编程语言可以自动识别变量类型

      【多态:一个数据具有多个属性,而最后使用的属性取决于和他运算的数据】

      传参

          $? 上一条命令的执行状态 0正确 1-255错误

          $1 $2 … ${10}  命令后面传入脚本的数据,以空格为分隔符

          $# 统计传参数量${$#}

          $* 表示所有传参,所有的传参以字符串的形式输出

          $@ 表示所有传参,所有的参数以列表的形式输出

    定义变量的格式:

          NAME=value(中间不要有空格,一个等号叫赋值,两个等号叫判断)

          我们通过命令declare定义变量类型

          declare -i 整数

          declare -a 数组

     变量命名:

          下划线的方式指定变量名称

          驼峰命名方式

    4.test文件测试、条件判断

          在脚本中,我们需要进行语句分支;说白了就是做判断,判断就是使用test命令来实现

    使用格式:

      1. test[option]file

      2. [ 条件语句 ]注:有两个空格

    常见的test选项:

         比较选项:

        -eq等于

        -ne不等于

        -gt大于

        -ge大等

        -lt小于

        -le小等

         判断选项:

        -f判断是否为普通文件

        -d是否为目录文件

        -L是否为链接文件

        -r读 -w写 -x操作

         关联选项:-o或 -a与 !非

    5.逻辑运算

         与 &&   都为真结果为真

         或 ||   两者有一真为真

         非 != 

         这个逻辑运算符,前后对接的都是单独存在的命令

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

    6.算术运算

         let 1+1

         expr 1*1

         $[$1+10]

         $(($1/$2))

         + - * / %

  • 相关阅读:
    今年暑假不AC
    Java类的生命周期
    Java反射机制
    Java环境变量的配置及使用
    javaIO流(一)
    ftp服务器测试
    linux下svn使用及查看杀掉进程
    网络配置学习
    网络配置指令
    dos攻击与防御
  • 原文地址:https://www.cnblogs.com/TheNeverLemon/p/11347147.html
Copyright © 2011-2022 走看看