美文网首页
shell 编程

shell 编程

作者: 赛亚人之神 | 来源:发表于2019-04-01 16:30 被阅读0次

    回顾:

    文件管理、用户管理、权限管理、bash基础特性
    
    1. 文件管理:cp, mv, rm
    2. 用户管理:
        useradd, usermod, chfn, chsh, chage, userdel
        groupadd, groupmod, groupdel
        passwd, gpasswd, pwck
        id, finger, who, whoami, w
        su
        配置文件:/etc/passwd, /etc/shadow, /etc/group, /etc/gshadow
    3. 权限管理:
        chmod
        chown
        chgrp
          -R, --reference=RFILE
    
        FILE: 666 - umask
        DIR: 777 -umask
        
        umask [UMASK]
    
    4. bash基础特性
        命令行展开:~, {}
        命令别名:alias/unalias
        命令和路径补全
        命令历史:history
        glob:?, *, [], [^]
        快捷键:Ctrl + [a,e,l,c,u,k]
        命令hash: hash
    

    bash 的基础特性(3)

    1. 提供了编程环境
      程序:指令 + 数据
    
      程序编程风格:
        过程式:以指令为中心,数据服务于指令
        对象式:以数据为中心,指令服务于数据
    
    shell 脚本:就是文本文件(必须遵循特性格式 - 第一行必须顶格写执行这个 shell 的解释器路径)
      #!/bin/bash
      #!/usr/bin/python
      #!/usr/bin/perl
    
      magic number: 魔数(程序的特征码,例如window的exe程序和linux的elf程序魔数就是不相同的)
    
      运行脚本:
        1. 给予执行权限,通过具体的文本路径指定文件执行(否则当成命令,去 $PATH 路径下去查找该命令)
        2. 直接运行解释器,将脚本作为解释器的参数运行
    
    变量:
      命名的内存空间:
      
      数据存储方式:ASCII
        字符:110,24bit(一个字符占8bit)
        数值:110,8bit(2^8)
    
      变量:变量类型
        作用:
          1. 数据储存格式
          2. 参与的运算(能够参与的运算)
          3. 表示的数据范围
    
      编程程序语言:
        强类型:
        弱类型:bash
          把所有要存储的数据通通当做字符进行,不支持浮点数
    
      运算:&&,||,!,异或(相同为假,不同为真)
      短路运算:
        与:
          第一个为0,结果必定为0
          第一个为1,第二个必须参与运算
        或:
          第一个为1,结果必定为1
          第一个为0,第二个必须参与运算
    
        例子:判断用户是否存在?存在则输出 exist,否则输出 no such a user;
          id username &> /dev/null && echo 'exist' || echo 'no such a user'
    

    相关文章

      网友评论

          本文标题:shell 编程

          本文链接:https://www.haomeiwen.com/subject/zogvbqtx.html