变量

  默认是字符串型,数值型需要显示指定

  等号两侧都不能有空格

  单引号:原始字符串  双引号:保留转义

  命令结果作为值:反引号 或 $()

  环境变量一般用大写


自定义变量

  变量定义    name="xx oo"

  变量叠加    aa=123   aa="$aa"456  aa=${aa}789

  变量调用    echo $aa

  变量查看    set

  变量删除    unset aa


环境变量

  用户自定义变量 -- 只在当前Shell中生效

  环境变量 -- 当前Shell和所有子Shell中都生效,

         如果写入配置文件,则会在所有Shell中都生效

  设置环境变量

    声明

      export name=sqd

      sex=male    export sex

    查询  env

    删除  unset

  PATH -- 系统查找命令的路径

    添加路径  PATH="$PATH":/root/

  PS1 -- 定义系统提示符的变量

    默认  PS1='[\u@\h \W]\$ '

    修改  PS1='[\u@\t \w]\$ '

    

   


位置参数变量

  变量名和作用都是固定的,只能传入不同的值

   


预定义变量

  

接收键盘输入

  read [选项] 变量名

    -p "提示信息"

    -t 秒数

    -n 字符数

    -s            隐藏


数值运算与运算符

  declare声明变量类型

    declare [+-] [选项] 变量名

      -: 设定类型属性

      +:取消类型属性

      -i:integer

      -x:环境变量

      -p:显示指定被声明的类型

  数值运算

    方法一:

      declare -i c=$a+$b

    方法二:

      d=$(expr $a + $b)    #加号两侧有空格

    √方法三:

      $((运算式)) 或 $[运算式]

  运算符

    


变量测试与内容替换

  通过x的值,测试y的情况

  


环境变量配置文件

  source命令  -- 使配置文件直接生效

      source 配置文件   或   . 配置文件

  系统中环境变量配置文件的位置

    /etc/profile

    /etc/profile.d/*.sh

    ~/.bash_profile

    ~/.bashrc

    /etc/bashrc

    

  其他环境变量配置文件

    注销时生效的:~/.bash_logout

    历史命令:~/.bash_histoty

    

    Shell登录信息:

      本地终端登录信息:/etc/issue

        

      

      远程终端登录信息:/etc/issue.net

        不能使用转义符,只能显示纯文本

        是否显示信息,由ssh的配置文件/etc/ssh/sshd_config决定

          加入"Banner /etc/issue.net"才能生效(重启sshd)

      登录后显示信息:/etc/motd

        本地和远程都能显示

Linux学习 -- Shell基础 -- Bash变量的更多相关文章

  1. Linux学习 -- Shell基础 -- Bash基本功能

    历史命令 history -c   clear -w   写入 ~/.bash_history 默认保存1000条, 可在/etc/profile中修改 调用 Tab补全 命令.目录.文件 命令别名 ...

  2. Linux学习——shell编程之变量

    shell编程之变量:Linux shell编程基础中的变量. 包括Bash变量的分类和各变量的详细使用,如:用户自定义变量.环境变量.语系变量.位置参数变量和预定义变量. 1:什么是Bash变量? ...

  3. Linux学习——Shell基础

    1 shell概述 Shell 是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用shell来启动,挂起,停止甚至编写一些程序. Shell 还是一 ...

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

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

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

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

  6. Linux学习 -- Shell基础 -- 概述

    Shell是什么? 命令解释器 编程语言 Linux支持的Shell类型 cat /etc/shells 主要学习 bash 脚本执行方式 echo echo -e 单引号 -- 原始字符串  双引号 ...

  7. Shell基础-环境变量配置文件

    Shell基础-环境变量配置文件 source 配置文件 或者 . 配置文件: 把环境变量写入配置文件后,需要用户重新登陆才能生效,而是用source命令,则能直接生效 主要的配置文件: /etc/p ...

  8. Linux学习-计算机基础

    Linux 学习-计算机基础 一.描述计算机的组成及其功能. 计算机系统是由硬件(Hardware)和软件(Software )两部分组成. 硬件: 从硬件基本结构上来讲,计算机是由运算器.控制器.存 ...

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

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

随机推荐

  1. chapter9_1 协同程序

    协同程序与线程差不多,也就是一条执行序列:有自己独立的栈.局部变量.指令指针,以及和其他协同程序共享的全局变量和其他大部分东西. 两者区别在于:一个多线程的程序可以同时运行几个线程,而协同程序却需要彼 ...

  2. LYNC2013介绍和基础架构准备角色

    LYNC2013部署系列PART1:LYNC2013介绍和基础架构准备 前言:LYNC 2013发布已经很久了,本人一直在进行相关的学习和测试,在有限的资源条件下,把能够模拟出来的角色进行了安装部署, ...

  3. 2015 ACM/ICPC Asia Regional Hefei Online

    1001 Monitor the Alpacas 1002 The Relationship in Club 1003 Difference of Clustering 两边离散化.暴力扫C就过了. ...

  4. 判断一个值是不是DBNull.Value

    C#读取数据库返回DataTable,遍历 DataTable, 在DataRow dr, 假如dr[0]是一个可空的值类型的字段,那么要赋值给C#程序的一个值类型(可空类型变量这里不讨论)变量时, ...

  5. 嵌套json

    今天一个客户问怎样把表中相同键值对应的文本按照一定顺序拼接起来.如果使用SQL实现将非常麻烦,并且效率低下.GP4.1以后提供了一个函数array_agg可以方便快捷,高效的实现该功能 比如原始查询是 ...

  6. mysql之TIMESTAMP(时间戳)用法详解 [http://www.jb51.net/article/51794.htm]

    一.TIMESTAMP的变体 TIMESTAMP时间戳在创建的时候可以有多重不同的特性,如: 1.在创建新记录和修改现有记录的时候都对这个数据列刷新: TIMESTAMP DEFAULT CURREN ...

  7. Oracle字符串操作[转:http://www.cnblogs.com/xd502djj/archive/2010/08/11/1797577.html]

    ORACLE 字符串操作 1 字符串连接   SQL> select 'abc' || 'def' from dual; 'ABC'|------abcdef 2 小写SQL>select ...

  8. 关于Unity中的涉及到Attribute的相关概念整理(@WhiteTaken)

    这两天事情比较多,没有来得及更新,现在把我这两天看的attributes相关内容进行整理. 涉及到的相关概念包括: C#中的特性概念及用法 创建自己的特性以及通过反射访问特性 C#中的特性概念以及用法 ...

  9. HDU 5806 NanoApe Loves Sequence Ⅱ

    将大于等于m的数改为1,其余的改为0.问题转变成了有多少个区间的区间和>=k.可以枚举起点,二分第一个终点 或者尺取法. #pragma comment(linker, "/STACK ...

  10. linux手工笔记

    一.vi编辑器常用命令: -------------------------------- •插入文字:I键A键 •退回命令模式:ESC •存盘:w •不存盘退出:q •存盘退出:wq •强制退出:q ...