一、用户自定义变量(本地名)

  用户自定义变量只有在当前的shell中生效

  1 定义变量

    name="zheng huiwei"

    aa=123

  2 变量叠加

    aa="$aa"456

    aa=${aa}789

  3 变量调用

    echo $name

    echo $aa

  4 变量查看

    set

  5 变量删除

    unset name

    unset aa

二、环境变量

  保存的是和系统操作环境相关的数据,

  环境变量会在当前shell和这个shell的所有子shell当中生效,如果把环境变量写入相应的配置文件,那么这个环境变量就会在所有的shell中生效。

  使用命令:bash可以建立子shell,使用命令:pstree确定进程数

  1 申明变量

    export 变量名=变量值

    或

    变量名=变量值

    export 变量名

  2 查询变量

    env

  3 删除变量

    unset 变量名

  4 系统常见环境变量

    (1)PATH:系统查找命令的路径

        # echo $PATH

        /usr/lib/qt-3.3/bin: /usr/local/sbin/: usr/local/bin: /sbin: /bin: /usr/sbin: /usr/bin: /root/bin

       注:可以将自己的脚本位置添加到PATH系统查找命令路径之下

         例如我的脚本在/home/zhw/sh/hello.sh中,使用变量叠加命令

         PATH="$PATH":/home/zhw/sh 将脚本位置添加到系统查找命令路径下

    (2)PS1:定义系统提示符的变量

提示符 功能 格式
\d 显示日期 “星期 月 日”
\h 显示简写主机名 默认“localhost”
\t 显示24小时制时间 “HH:MM:SS”
\T 显示12小时制时间 “HH:MM:SS”
\A 显示24小时制时间 “HH:MM”
\u 显示当前用户名  
\w 显示当前所在目录的完整名称  
\W 显示当前所在目录的最后一个目录  
\# 显示执行的是第几个命令  
\$ 提示符

root用户提示“#”

普通用户提示“$”

          例:

          

三、位置参数变量

  用来向脚本当中传递参数或数据,变量名不能自定义,变量作用是固定的

位置参数变量 作用
$n 

$0代表命令本身

$1-$9代表第1个到第9个输入参数

${10}

$*  $*把所有的参数看成一个整体
$@ $@把每个参数区分对待
$# 命令行中所有参数的个数

四、预定义变量

  在Bash中已经定义好的变量,变量名不能自定义,变量作用也是固定的

  1 预定义变量

预定义变量 作用
$?

最后一次执行的命令的返回状态

返回0:上一条命令执行正确

返回非0:上一条命令执行错误

$$ 当前进程的进程号(PID)
$! 后台最后一个进程的进程号(PID)

      例:$?

          

      例:$$、$!

          

          

  

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

  1. Linux学习——环境变量设置

    一般来说,配置交叉编译工具链的时候需要指定编译工具的路径,此时就需要设置环境变量.例如我的mips-linux-gcc编译器在“/opt/au1200_rm/build_tools/bin”目录下,b ...

  2. 学习bash——变量

    一.什么是变量 变量:一个字眼,用来替代另一个比较复杂或者是容易变动的数据. 变量的优势:可变性.方便性 二.变量内容的设置 关键词:变量,变量名称,变量的内容(我默认将变量与变量名称等价) 方法:变 ...

  3. Linux系列教程(二十二)——Linux的bash变量

    上篇博客我们介绍了bash的一些基本功能,这是我们平时操作最频繁的.本篇博客我们介绍bash的变量,为后面编写shell脚本做铺垫. 1.什么是变量 变量是计算机内存的单元,其中存放的值可以改变. 当 ...

  4. Linux学习 - 环境变量配置文件

    一.环境变量配置文件的作用 /etc/profile /etc/profile.d/*.sh ~/.bash_profile ~/.bashrc /etc/bashrc 1 /etc/profile的 ...

  5. linux学习-环境变量与文件查找

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

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

  7. Linux学习之管道符、重定向、通配符、转义符、环境变量

    Linux学习之管道符.重定向.通配符.转义符.环境变量 1. 输入输出重定向 输入重定向是指把文件导入命令中. 输出重定向是指把原本要输出到屏幕的数据信息写入指定文件中. a 标准输入重定向(STD ...

  8. 鸟哥的Linux私房菜-第10/11/12/13章(vim程序编辑器、学习bash、正则表达式与文件格式化处理、学习Shell Scripts)

    第10章 vim程序编辑器 可以将vim看做vi的进阶版本,vim可以用颜色或底线等方式来显示出一些特殊的信息. 为何要学习vim?因为: a. 所有的 Unix Like 系统都会内建 vi 文书编 ...

  9. linux bash变量作用域

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

随机推荐

  1. php swoft redis 发布和订阅

    //订阅 public function subscribe() { /* @var \Swoft\Redis\Redis $redis */ $redis = App::getBean(\Swoft ...

  2. SpringCloud概念

    SpringCloud概述 1.SpringCloud是什么? 官方解释:  官网: https://spring.io/projects/spring-cloud/  SpringCloud是一系列 ...

  3. 10分钟简单学习net core集成jwt权限认证,快速接入项目落地使用

    什么是JWT JSON Web Token(JWT)是目前最流行的跨域身份验证.分布式登录.单点登录等解决方案. JWT的官网地址:https://jwt.io/ 通俗地来讲,JWT是能代表用户身份的 ...

  4. CF264BGood Sequences

    CF264BGood Sequences 题面 大意 寻找最长递增字串,使得相邻两个数不互质. 思路 动态规划思想,ans记录当前的数以下标i为约数答案,使得需要填进去的数肯定与前一个数不互质.在开始 ...

  5. 记录线上APP一个排序比较引发的崩溃 Comparison method violates its general contract!

    最近在做产品需求的时候上线了一个新的产品需求,给用户多了一种新的排序排序规则,更加方便用户找到自己想要的东西.新版本发布后,QA 给我发了一个 线上崩溃 bug 链接,具体内容如下: 看到上面的链接, ...

  6. 【JAVA】笔记(8)--- java.lang.String 精讲

    String 特性: 1.String 表示字符串类型,属于引用数据类型,所以其储存的是地址: 2.java 中规定,双引号括起来的字符串是不可变的,也就说" name "永远也只 ...

  7. Django笔记&教程 3-4 模板继承

    Django 自学笔记兼学习教程第3章第4节--模板继承 点击查看教程总目录 在介绍具体的技术之前,先介绍在什么样的场景中,需要使用这样的技术,我觉得这对于新手理解起来很重要. 一般来说,要渲染一个页 ...

  8. layui 如果调用 from 内嵌入的 iframe子页面方法

    (人笨,占时想法的办法,不要骂,不要骂,怕了怕了,想到别的会来改的) 父页面; <%@ page language="java" contentType="text ...

  9. vue 3 学习笔记 (八)——provide 和 inject 用法及原理

    在父子组件传递数据时,通常使用的是 props 和 emit,父传子时,使用的是 props,如果是父组件传孙组件时,就需要先传给子组件,子组件再传给孙组件,如果多个子组件或多个孙组件使用时,就需要传 ...

  10. Windwos安装Node.js和npm的详细步骤

    How to Install Node.js and NPM on Windows Node.js和npm 安装 Node.js 的时候会自动安装 npm ,并且 npm 就是 Node.js 的包管 ...