zoukankan      html  css  js  c++  java
  • bash变量

    bash有四种类型的变量,分别是用户自定义变量、环境变量、位置参数变量、预定义变量

    用户自定义变量

    Shell编程中,无需事先声明变量,变量名的命名遵循如下规则:

    1)首个字符必须为字母(a-z,A-Z)

    2)中间不能有空格,可以使用下划线

    3)不能使用标点符号

    4)不能使用bash中的关键字(help可查看保留关键字)

    关于自定义变量,还有几点补充:

    1)bash变量值默认类型都是字符串,若要进行数值运算,则必须指定变量类型为数值型

    2)变量值中有空格,用单引号包括

    3)变量值中可以使用转义符

    4)若需要增加变量的值,则可进行变量值的叠加,变量需要用双引号"$变量名"或${变量名}包含

    5)若要把命令的结果作为变量值赋给变量,使用反引号或者$()包含命令

    6)环境变量建议大写,便于与其他变量区分

    变量的定义与使用

    变量定义

    用户可以按照下面语法规则定义自己的变量

    变量名=变量值,"="左右两侧不能有空格,如name=zhangsan

    变量调用

    $变量名,所有类型的变量都可以以这种方式调用

    变量叠加

    "$变量名"附加内容 或 ${变量名}附加内容

    变量查看

    set  查看所有类型的的变量

    变量删除

    unset 变量名

    环境变量

    用户自定义的变量只在当前的Shell中生效,而环境变量会在当前Shell及其所有的子Shell中生效。如果将环境变量写入相应的配置文件,则该环境变量在所有的Shell中生效

    声明环境变量

    export 变量名=变量值

    export 变量,将普通的变量声明为环境变量

    查询环境变量

    env  查询环境变量的专有命令,set命令时查询所有类型的变量

    删除环境变量

    unset 变量名

    位置参数变量

    位置参数变量

    作用

    $n

    n为数字,$0代表命令本身,$1~$9代表第一个刀第九个参数,十以上的参数需要用大括号包含,如${10}

    $*

    该变量代表命令行中的所有参数,$*会将所有的参数当做一个整体

    $@

    该变量也代表命令行中的所有参数,$@会把每个参数区分对待

    $#

    该变量代表命令行中所有参数的个数

    保存脚本退出,在命令行执行脚本,并输入参数

     预定义变量

    预定义变量

    作用

    $?

    最后一次执行命令的返回状态,如果这个变量值为0,证明上一个命令正确执行;如果这个变量值非0(具体是哪个数,由命令自己决定),则证明上一个命令执行不正确

    $$

    当前进程的进程号(PID)

    $!

    后台运行的最后一个进程的进程号(PID)

  • 相关阅读:
    寄存器详解
    Sleep(0)的妙用
    源码分析之Dictionary笔记
    ASP.NET Core框架的本质
    Dictionary实现(收藏的)
    微软的判断一个数是不是质数的算法
    C#性能优化:延迟初始化Lazy
    C#3 分部方法,简单标记一下
    单例下并发的情况下访问私有变量的一个典型问题
    BeforeFieldInit的小叙
  • 原文地址:https://www.cnblogs.com/qingyaxuan/p/6797053.html
Copyright © 2011-2022 走看看