bash变量特性的补充
2017-11-01 19:53
204 查看
bash变量特性
变量和常量在以前学C的时候就知道,所谓变量就是可以变化的量,就如数学中的x,而常量就是就是不变的量,比如常数,1,2,3.....等等但是在bash不大一样:我们有一些定义;
变量:一段有名称的连续的内存空间;这段内存空间的名称,称为变量名;在这段内存空间中存储的数据,则称为变量值;
因为数据要想在内存中,必须以一些二进制的值存在,我们叫做存在值。不论是什么,都是一些数值而已。
给内存空间(变量)中存储数据的过程,称为赋值操作;赋值符号通常为“=”这个操作的话,在很多语言中都有有涉及,有点语言基础都会知道。
变量的类型:
变量:(这一点PHP和bash就很像)
强变量:使用之前必须事先予以声明:必须声明变量类型;
弱变量:使用之前无需声明,无需指明变量类型;(bash变量)
变量的赋值方法:
VARNAME=VALUE
其解释为,将某数值(VALUE)通过赋值操作(=)存储于特定的内存空间中(VARNAME);bash中变量名称的命名规范:
1.变量名只能以"_"或"字母"为起始字符,后面的其他字符可以是任意字母,数字,下划线;
2.变量名中字母是大小写敏感的;
3.命名的书写格式:
全大写:HISTSIZE
全小写:myvar
驼峰式: MyNewVariable
连接式:My_New_Var
4.变量名要能做到见名知意(很重要,毕竟作为程序员,要换位思考别人理解自己的程序)
5.变量名不能与一直变量或bash的内置变量重复;(一旦重复,则凡事依赖此变量的程序都会受到影响)
bash中变量有哪些种类;
根据变量的作用范围:
全局变量(环境变量):作用范围为整个shell进程,包括其子shell;
本地变量:作用范围为当前登录时大所打开的shell进程,不包括其子shell;
局部变量(local):作用范围仅仅只是当前程序段,一般用于函数;
根据变量的声明方式划分:
bash内置变量:
普通的内置变量:HISTSIZE,...
位置参数变量:$0,$1,$2,...[(touch a b c d )touch为$0,依次又空格往后推]
特殊变量:$?,$#,$*,$@,$$,..(等我理解了,我会在写出来)
自定义变量:
变量的使用:
1.变量的声明和赋值:(自定义)变量 1)声明全局变量(环境变量)
export VARNAME
export VARNAME=VALUE
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]下边是一个例子:很简单的一个例子
set命令:
可以查看和改变shell属性的值及查看shell变量的变量名和变量值
export:
查看变量名称,也可以为变量赋值;
env命令:0
3.查看变量的值:
echo ${VARNAME}
4.撤销变量的赋值及变量声明
unset VARNAME
有关于保存变量的shell配置文件:
通用配置文件:
/etc/bashrc
/etc/profile
/etc/profilr.d/*
私人配置文件:
~/.bashrc
~/.bash_profile
注意:
1.一般情况下,变量都是随意随声明,除非有必要,否则不建议修改配置文件的内容;
2.声明的变量在使用完之后,最好使用unset命令予以撤销;
变量和常量在以前学C的时候就知道,所谓变量就是可以变化的量,就如数学中的x,而常量就是就是不变的量,比如常数,1,2,3.....等等但是在bash不大一样:我们有一些定义;
变量:一段有名称的连续的内存空间;这段内存空间的名称,称为变量名;在这段内存空间中存储的数据,则称为变量值;
因为数据要想在内存中,必须以一些二进制的值存在,我们叫做存在值。不论是什么,都是一些数值而已。
给内存空间(变量)中存储数据的过程,称为赋值操作;赋值符号通常为“=”这个操作的话,在很多语言中都有有涉及,有点语言基础都会知道。
变量的类型:
变量:(这一点PHP和bash就很像)
强变量:使用之前必须事先予以声明:必须声明变量类型;
弱变量:使用之前无需声明,无需指明变量类型;(bash变量)
变量的赋值方法:
VARNAME=VALUE
其解释为,将某数值(VALUE)通过赋值操作(=)存储于特定的内存空间中(VARNAME);bash中变量名称的命名规范:
1.变量名只能以"_"或"字母"为起始字符,后面的其他字符可以是任意字母,数字,下划线;
2.变量名中字母是大小写敏感的;
3.命名的书写格式:
全大写:HISTSIZE
全小写:myvar
驼峰式: MyNewVariable
连接式:My_New_Var
4.变量名要能做到见名知意(很重要,毕竟作为程序员,要换位思考别人理解自己的程序)
5.变量名不能与一直变量或bash的内置变量重复;(一旦重复,则凡事依赖此变量的程序都会受到影响)
bash中变量有哪些种类;
根据变量的作用范围:
全局变量(环境变量):作用范围为整个shell进程,包括其子shell;
本地变量:作用范围为当前登录时大所打开的shell进程,不包括其子shell;
局部变量(local):作用范围仅仅只是当前程序段,一般用于函数;
根据变量的声明方式划分:
bash内置变量:
普通的内置变量:HISTSIZE,...
位置参数变量:$0,$1,$2,...[(touch a b c d )touch为$0,依次又空格往后推]
特殊变量:$?,$#,$*,$@,$$,..(等我理解了,我会在写出来)
自定义变量:
变量的使用:
1.变量的声明和赋值:(自定义)变量 1)声明全局变量(环境变量)
export VARNAME
export VARNAME=VALUE
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]下边是一个例子:很简单的一个例子
[root@localhost test]# export MYVAR='test info' [root@localhost test]# echo $MYVAR test info [root@localhost test]# csh [root@localhost test]# echo $0 csh [root@localhost test]# echo $MYVAR test info [root@localhost test]# VAR='bash var' [root@localhost test]# echo $VAR bash var [root@localhost test]# csh [root@localhost test]# echo $0 csh [root@localhost test]# echo $VAR VAR: Undefined variable. [root@localhost test]# exit exit [root@localhost test]# export VAR [root@localhost test]# csh [root@localhost test]# echo $0 csh [root@localhost test]# echo $VAR bash var2.查看环境变量:
set命令:
可以查看和改变shell属性的值及查看shell变量的变量名和变量值
export:
查看变量名称,也可以为变量赋值;
env命令:0
3.查看变量的值:
echo ${VARNAME}
4.撤销变量的赋值及变量声明
unset VARNAME
有关于保存变量的shell配置文件:
通用配置文件:
/etc/bashrc
/etc/profile
/etc/profilr.d/*
私人配置文件:
~/.bashrc
~/.bash_profile
注意:
1.一般情况下,变量都是随意随声明,除非有必要,否则不建议修改配置文件的内容;
2.声明的变量在使用完之后,最好使用unset命令予以撤销;
相关文章推荐
- bash特性变量,用户和组
- bash功能特性一 变量
- bash特性补充
- 权限管理2 以及bash的特性 快捷键,补全功能以及变量的类型,登录类型,脚本
- bash的特性之bash变量
- 谢烟客---------Linux之Bash基础特性变量(3)
- Shell脚本编程之Bash特性-IO重定向-变量
- Linux学习笔记:bash的基础特性之变量
- bash的重要特性:变量
- bash变量详解
- 8-23 linux文件管理常用命令和Bash特性
- bash参考手册之三(基本的Shell特性)续六
- Shell程序及Linux中默认的Shell程序Bash的特性
- Linux之bash的特性
- Oracle 数据库的绑定变量特性及应用
- Java 8 新特性:Lambda 表达式之方法引用(Lambda 表达式补充版)
- [Shell]Bash变量:数值运算及运算符
- BASH 学习——变量
- java基础学习总结三(jdk7新特性、变量(局部变量和成员变量)、常量以及运算符)
- 设置环境变量 ---- bash和tcsh