本地变量:

    变量赋值:name=value

    变量引用:${name}  , $name

        "":变量名会替换为其值

        '':变量名不会替换为其值

    查看变量: set

    撤销变量:unset name

     notice :  此处非变量引用------>>>>此处设置的变量只对当前终端bash/shell起作用  对其子shell 都不起作用

  环境变量:

    变量赋值:

         (1)   export name=value

         (2) name=value;export name

         (3)  declare -x name = value

         (4) name = value ; declare -x name

      变量引用: ${name}    , $name

      notice:  bash内嵌了许多环境变量(通常为全大写字符),用于定义bash的工作环境

        PATH, HISTSIZE  HISTFILE HISTFILSIZE HISTCONTROL SHELL HOME UID自己定义的环境变量不能与这些环境变量相互冲突

      查看环境变量: set

              env

              printenv

                 declare -x

              export    以上这些命令都可以查看环境变量

  只读变量:

    (1)  declare -r name

    (2) readonly name

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

   变量名:见名知义,命名机制遵循某种法则;不能使用程序的保留字符

   bash特性之多命令执行:

    ~] # COMMON1;COMMON2;COMMON3;..............命令之间没有逻辑关系

  逻辑运算:

    运算数:真(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

      异或:判断是否不同

            俩个数字运算时的数字不相同为 1    相同则为  0

  短路法则:

    ~] # common1 && common2

      common1为 ‘假’  ,则common2不会再执行

      否则,common1 为‘真’ , 则common2必须执行

    ~] # common1 || common2

      common1 为 ‘真’  则common2 不会执行

      否则,common2执行

    ~] #  id $useraname  || useradd $username

          

bash 变量的更多相关文章

  1. Shell基础-Bash变量-用户自定义变量

    变量设置规则: 变量名称可以由字母.下划线和数字组成,但是不能由数字开头. 在Bash中变量的默认类型是字符串类型,若需要进行数值运算,则需指定变量类型为数值型.变量用等号链接,且两边不能有空格.若需 ...

  2. 转 玩转Bash变量

    PS : 注意本文讨论的是Bash,而不一定是/bin/sh所链接的那个shell.这里出现的所有代码片段,默认在顶上都添加了#!/bin/bash. 一门自带混淆的语言 while (( $# )) ...

  3. Shell学习之Bash变量详解(二)

    Shell学习之Bash变量详解 目录 Bash变量 Bash变量注意点 用户自定义变量 环境变量 位置参数变量 预定义变量 Bash变量 用户自定义变量:在Bash中由用户定义的变量. 环境变量:这 ...

  4. linux bash变量作用域

    linux bash变量作用域 一,思考一个问题,当在shell里执行某个程序时,shell是怎么找到这个程序的? shell会去$PATH环境变量定义的目录里去找这个命令.环境变量里一般包括/usr ...

  5. linux学习18 shell脚本基础-bash变量和逻辑运行

    一.回顾 1.用户管理,权限管理,install,mktemp 2.用户管理: 3.权限管理: mode,ownership mode: user group other r w x 4.命令:ins ...

  6. 二:shell之bash变量

    1.变量的分类: 用户自定义变量:   变量自定义 默认存储是字符串环境变量:              这种变量中主要保存的是和系统操作环境相关的数据.变量可以自定义,但是对系统生效的环境变量名和变 ...

  7. Linux学习笔记(16)shell基础之Bash变量

    1. 用户自定义变量 (1)变量设置规则 ① 变量名称可由字母.数字和下划线组成,但不能以数字开头: ② 变量的默认类型为字符串类型,如果要对数值运算,则必须指定变量类型为数值型: ③ 变量用等号连接 ...

  8. Bash:-变量替换后利用大括号获取数字存在的间隔

    比如脚本输入位置变量:1_5 输出效果为: 1 2 3 4 5 脚本代码如下: #!/bin/bash i=1_5 for j in $(eval echo {${i/_/\..}});do echo ...

  9. linux笔记:shell基础-bash变量

    shell变量设置规则: 变量的分类: 环境变量的设置: 系统常见环境变量: 位置参数变量(用来接收脚本的参数): 预定义变量: 接收键盘输入(将键盘输入的值赋值给变量名): 用declare声明变量 ...

  10. bash变量操作

    1.条件变量替换: Bash Shell可以进行变量的条件替换,既只有某种条件发生时才进行替换,替换 条件放在{}中. (1) ${value:-word} 当变量未定义或者值为空时,返回值为word ...

随机推荐

  1. cocos2d JS-(JavaScript) cc.each循环遍历对象

    有了它,妈妈再也不用担心我的数组会越界啦!! each()方法能使DOM循环结构简洁,不容易出错.each()函数封装了十分强大的遍历功能,使用也很方便,它可以遍历一维数组.多维数组.DOM, JSO ...

  2. composer----------composer初体验,如何安装,如何下载

    最近PHP里面比较火的一款框架laravel,想学一下看下这个框架到底哪里好.这款框架的中文官网激励推荐composer,没办法就去学了一些composer.结果整了半天,还不如看一段短视频学的容易. ...

  3. MyBatis基础入门《十五》ResultMap子元素(collection)

    MyBatis基础入门<十五>ResultMap子元素(collection) 描述: 见<MyBatis基础入门<十四>ResultMap子元素(association ...

  4. Unity shader学习之反射

    shader如下: Shader "Custom/Reflection" { Properties { _Cubemap("Cubemap", Cube) = ...

  5. Unity shader学习之高光反射光照模型

    高光反射光照模型的公式如下: Cspecular = Clight * mspecular * max(0, dot(v, r))gloss 要计算高光反射需要知道4个参数:入射光线颜色Cspecul ...

  6. HDU1530 最大流问题

    第一次写Dinic 然后贴一下 最基础的网络流问题 嘎嘎: #include <iostream> #include<cstdio> #include<string.h& ...

  7. codeforces 957 C Three-level Laser

    题意: 说的是一个电子云的三种状态,但是这不重要. 简单来说,就是在一个升序的序列中找三个数x,y,z,x和z的值之差不超过u,然后使得(z – y) / (z – x)最大. 思路: 使得(z – ...

  8. Vuejs vm对象详解

    Vuejs vm对象详解 vue数据是怎么驱动视图的?一堆数据放在那里是不会有任何作用的,它必须通过我们的View Model(视图模型)才能操控视图. 图中的model其实就是数据,一般我们写成js ...

  9. vuejs目录结构启动项目安装nodejs命令,api配置信息思维导图版

    vuejs目录结构启动项目安装nodejs命令,api配置信息思维导图版 vuejs技术交流QQ群:458915921 有兴趣的可以加入 vuejs 目录结构 build build.js check ...

  10. vue去掉严格开发,即去掉vue-cli安装时的eslint

    vue去掉严格开发,即去掉vue-cli安装时的eslint : 1.vue-cli书写规范(主要是js规范) a.逗号.冒号后面要加空格 b.不能使用双引号,一律使用单引号 webpack的语法检查 ...