美文网首页
note_6.1_shell变量、脚本基础

note_6.1_shell变量、脚本基础

作者: 人間失格_430b | 来源:发表于2019-01-30 11:48 被阅读0次

bash特性及bash脚本编程初步

  • 终端,附着在终端的接口程序:

      GUI:KDE, GNome, Xfce
      CLI:/etc/shells
          bash
          zsh
          fish
    
  • bash的特性:

      命令行展开:~, {}
      命令别名:alias, unalias
      命令历史:history
      文件名通配:glob
      快捷键:Ctrl+a, e, u, k, l
      命令补全:$PATH
      路径补全:
    
  • bash特性之:命令hash
    缓存此前命令的查找结果:key-value
    key:搜索键
    value:值

      hash命令:
          hash:列出
          hash -d COMMAND:删除
          hash -r:清空
    
  • bash的特性之:变量
    程序:指令+数据
      指令:由程序文件提供
      数据:IO设备、文件、管道、变量
    程序:算法+数据结构
    变量名+指向的内存空间
    变量赋值:name=value
    变量类型:存储格式、表示数据范围、参与的运算
      编程语言:
        强类型变量
        弱类型变量:
          bash把所有变量视作字符型
          bash中的变量无需事先声明
    变量替换:把变量名出现的位置替换为其所指向的内存空间中数据;
    变量引用:${var_name}, $var_name

变量名:变量名只能包含数字、字母和下划线,而且不能以数字开头;
变量名:见名知义,命名机制遵循某种法则;不能够使用程序的保留字,例如if, else, then, while等等;


bash变量类型:

        本地变量:作用域仅为当前shell进程;
        环境变量:作用域为当前shell进程及其子进程;
        局部变量:作用域仅为某代码片断(函数上下文);

        位置参数变量:当执行脚本的shell进程传递的参数;
        特殊变量:shell内置的有特殊功用的变量;
            $?:
                0:成功
                1-255:失败

本地变量

变量赋值:name=value
变量引用:${name},$name
  " ":变量名会替换为其值;
  ' ':强引用,变量名不会替换为其值;
查看变量:set
撤销变量:unset name
  此处非变量引用


环境变量

变量赋值:

    export name=value
            or
    name=value
    export name
            or
    declare -x  name=value
            or
    name=value
    declare -x name

注意:bash内嵌了许多环境变量(通常为全大写字符),用于定义bash的工作环境
PATH, HISTFILE, HISTSIZE, HISTFILESIZE, HISTCONTROL, SHELL, HOME, UID, PWD, OLDPWD

    查看环境变量:export, declare -x, printenv, env
    撤销环境变量:unset name

只读变量:
        declare -r name
        readonly name

只读变量无法重新赋值,并且不支持撤销;存活时间为当前shell进程的生命周期,随shell进程终止而终止;


只读变量

bash特性之多命令执行:

~]$ COMMAND1; COMMAND2; COMMAND3; ...
逻辑运算
        运算数:真(true, yes, on, 1)
                假(false, no, off, 0)

        与:
            1 && 1 = 1
            1 && 0 = 0
            0 && 1 = 0
            0 && 0 = 0
        或:
            1 || 1 = 1
            1 || 0 = 1
            0 || 1 = 1
            0 || 0 = 0
        非:
            ! 1 = 0
            ! 0 = 1


    短路法则:
        ~]$ COMMAND1 && COMMAND2
            COMMAND1为“假”,则COMMAND2不会再执行;
            否则,COMMAND1为“真”,则COMMAND2必须执行;

        ~]$ COMMAND1 || COMMAND2
            COMMAND1为“真”,则COMMAND2不会再执行;
            否则,COMMAND1为“假”,则COMMAND2必须执行;

示例:~]# id $username || useradd $username

相关文章

  • note_6.1_shell变量、脚本基础

    bash特性及bash脚本编程初步 终端,附着在终端的接口程序: GUI:KDE, GNome, Xfce C...

  • shell脚本基础

    编写脚本 编程基础 shell脚本 创建shell脚本 变量 运算 测试 配置用户的环境

  • Groovy语言介绍

    Groovy概述 语言基础 变量 有两类可以在生成脚本中声明的变量: 局部变量和额外属性 a、局部变量 b、额外属...

  • shell快速使用笔记

    shell 脚本的第一行以:#!/bin/sh 或 #!/bin/bash 开头 基础变量 1.多行注释 2.变量...

  • Nextflow系列之三-备份

    Nextflow的脚本语言是Groovy的拓展。 语言基础 变量 列表 映射 获取 增加或修改 一次声明多个变量 ...

  • 8-shell脚本基础

    本章内容 ◆ 编程基础◆ 脚本基本格式◆ 变量◆ 运算◆ 条件测试◆ 条件判断if◆ 条件判断case◆ 配置用户...

  • JS 语法和数据类型

    讨论 JavaScript 的基本语法,变量声明,数据类型 和 字面量。 1.基础 JavaScript 脚本的源...

  • 【linux编程】生信编程-Linux常用命令-01

    基础命令 软件环境变量设置 将软件的脚本设置到个人环境变量中 查看文件 head -n 5 tail -n 5 c...

  • shell脚本(5):变量类型

    变量分为:本地变量、环境变量、位置变量及特殊变量。 1.本地变量 只在shell脚本内部使用,各脚本之间的变量独立...

  • Unreal4 脚本编写基础 0005bate1

    脚本编写基础 介绍蓝图可视化脚本中的变量和执行流程。 蓝图为脚本语言提供了一种可视化的方法。就其本身而言,此系统与...

网友评论

      本文标题:note_6.1_shell变量、脚本基础

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