bash变量的介绍

bash变量
变量:一段有名称的连续的内存空间;这段内存空间的名称,称为变量名;在这段内存空间中存储的数据,则称为变量值;

程序 = 指令 + 数据

数据:文件,存在值;

向内存空间(变量)中存储数据的过程,称为赋值操作;赋值符号通常为"=";

变量的类型:
    123 -- 整型:01111011
            -- 字符型:ASCII:3字节
            -- 字符型:UTF-8:9字节

变量:
    强变量:使用之前必须事先予以声明;必须声明变量类型;
    弱变量:在使用之前无需声明,无需指明变量类型;(bash变量)

变量的赋值方法:
    VARNAME=VALUE

    其含义:将某数值(VALUE)通过赋值操作(=)存储于特定的内存空间中(VARNAME);

    bash中变量名称的命名规范:
        1.变量名只能以"_"或"字母"为起始字符,后面的其他字符可以是任意字母,数字或下划线;
        2.变量名中的字母是大小写敏感的;
        3.命名的书写格式:
            全大写:HISTSIZE
            全小写:myvar
            驼峰式:MyNewVariable
            连接式:My_New_Var
        4.变量名要能做到见名知意;
        5.变量名不能与已知变量或bash的内置变量重复;

bash中的变量的分类:
    根据变量的作用范围来划分:
        全局变量(环境变量):作用范围为整个shell进程,包括其子shell;
        本地变量:作用范围为当前登录时打开的shell进程,不包括其子shell;
        局部变量:作用范围仅仅只是当前程序段,一般用于函数;

    根据变量的声明方式来划分:
        bash内置变量:
            普通的内置变量:HISTSIZE,...
            位置参数变量:$0, $1, $2, ...
            特殊变量:$?, $#, $*, [email protected], $$, ...
                $?:展开为最近一次执行的命令的状态返回值(退出状态码);用以表示最近一次执行的命令是否成功执行;
                $#:不包括$0在内的其余的位置参数的个数,以十进制数字表示;
                $*:从$1开始展开为位置参数。当使用双引号引用展开的结果时,它展开为特殊变量IFS的第一个字符分隔的值;
                [email protected]:从$1开始展开为位置参数。当使用双引号引用展开的结果时,它展开为一个单独的字符串;
                $$:展开为当前shell的进程标识符;
        自定义变量:

    变量的使用:
        1.变量的声明和赋值:
            1) 声明全局变量(环境变量):
                export VARNAME
                export VARNAME=VALUE

                declare命令:
                    declare - Set variable values and attributes.
                    格式:declare [-aAfFgilrtux] [-p] [name[=value] ...]
                        常用的选项:
                            -a:声明索引数组(如果支持)
                            -A:声明关联数组(如果支持)
                            -i:声明整型变量
                            -l:声明变量并将变量值中的字母转换为小写字母;
                            -u:声明变量并将变量值中的字母转换为大写字母;
                            -r:声明只读变量;该变量仅能进行一次赋值操作;
                            -x:声明变量并将其导出为全局变量;

                declare -x VARNAME[=VALUE]

            2) 声明本地变量:
                VARNAME=VALUE

            3) 声明局部变量:
                local VARNAME[=VALUE]

        2.查看环境变量:
            set命令:
                查看和改变shell属性的值及查看shell变量的变量名和变量值;

            export命令:
                查看变量名称,也可以为变量赋值;

            env命令:

        3.查看变量的值:
            echo ${VARNAME}

        4.撤销变量的赋值及变量声明
            unset VARNAME

有关于保存变量的shell配置文件:
    通用配置文件:
        /etc/bashrc
        /etc/profile
        /etc/profile.d/*

    私人配置文件:
        ~/.bashrc
        ~/.bash_profile

注意:
    1.一般情况下,变量都是随用随声明,除非有必要,否则不建议修改配置文件的内容;
    2.声明的变量在使用完以后,最好使用unset命令予以撤销;

原文地址:http://blog.51cto.com/wangzhihang/2120317

时间: 2024-11-06 13:40:34

bash变量的介绍的相关文章

Linux环境变量配置介绍及实战

一.环境变量文件介绍 Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登录到系统的用户都要读取的系统变量,而用户级的环境变量则是该用户使用系统时加载的环境变量.所以管理环境变量的文件也分为系统级和用户级的,下面贴一个网上找到的讲的比较明白的文件介绍(略作修改)[1]: 1.系统级:(1)/etc/profile:该文件是用户登录时,操作系统定制用户环境时使用的第一个文件,应用于登录到系统的每一个用户.该文件一般是调用/etc/bash.bashrc文件./etc/bash.bash

linux之bash变量

bash变量之高级部分 1.变量扩展 ${变量名称}                     变量扩展                          例如:${filename} $(命令)                            命令替换                          例如:$(ls /) $((算术式))                       算式扩展                          例如:$((9+9)) 变量扩展:一种简易的条

Bash变量

1.变量类型 Bash变量有两种:局部变量和环境变量 局部变量:局部变量的范围仅在创建它的Shell中有效 环境变量:能为创建它的Shell及其派生子进程所用的变量,也经常被称为全局变量,一般约定环境变量为大些,它们是那些可以通过内置命令export导出的变量. 2.变量命名 变量名必须以字母或下划线开始,其余部分则可以由字符.数字或下划线构成.变量名中不能含有点字符.. 大小写敏感 给变量赋值时,不要在等号两边留下空格.格式为: #variable=value 当变量值含有空格时,必须使用引号

bash变量作用域问题

queue_exist=0 ps -ef | grep ${PROCESS_PARM} | grep java |  awk '{print $2}' | while read pid do queue_exist=1 break; done queue_exist=1 这句就是不起作用,出了循环之后还是等于0. 印象中bash变量都是全局变量. 查了下,原来在bash shell中管道是新起了一个进程的,相当于 queue_exist=1这句是定义在subshell中了,subshell中的变

bash特性小结&bash变量

时间就是金钱 效率就是生命 一.bash编程 |---------------| |应用           | |-----------|   | |壳|库函数 |    | //可以直接针对系统调用编程 |---------------| |系统调用       | |---------------| |内核           | |---------------| |硬件           | |---------------|     现在程序开发更重视程序开发的速度-因此Pytho

bash变量类型

bash变量类型:本地变量:varname=value,作用域为整个shell进程局部变量:local varname=value,作用域为当前代码段环境变量:export varnmae=value,作用域为当前shell进程及其子进程位置变量:$1, $2, $3 -.特殊变量:$?,上一个命令执行状态返回值

linux shell自定义函数(定义、返回值、变量作用域)介绍

http://www.jb51.net/article/33899.htm linux shell自定义函数(定义.返回值.变量作用域)介绍 linux shell 可以用户定义函数,然后在shell脚本中可以随便调用.下面说说它的定义方法,以及调用需要注意那些事项. 一.定义shell函数(define function) 语法: [ function ] funname [()] { action; [return int;] } 说明: 1.可以带function fun() 定义,也可以

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

变量设置规则: 变量名称可以由字母.下划线和数字组成,但是不能由数字开头. 在Bash中变量的默认类型是字符串类型,若需要进行数值运算,则需指定变量类型为数值型.变量用等号链接,且两边不能有空格.若需要有空格,则用单引号或者双引号包括. Bash变量中“\”为转义符. 变量的值可以叠加,不过变量需要用双引号包括“$变量名”或者${变量名}. 如果把命令的结果作为变量值赋予变量,则需要使用反引号``或者$()包含命令

PHP类的静态(static)方法和静态(static)变量使用介绍

PHP类的静态(static)方法和静态(static)变量使用介绍,学习php的朋友可以看下 在php中,访问类的方法/变量有两种方法: 1. 创建对象$object = new Class(),然后使用”->”调用:$object->attribute/function,前提是该变量/方法可访问. 2. 直接调用类方法/变量:class::attribute/function,无论是静态/非静态都可以.但是有前提条件: A. 如果是变量,需要该变量可访问. B. 如果是方法,除了该方法可访