变量就是程序设计语言中的一个可以变化的量,当然,可以变化的是变量的值。几乎所有的程序设计语言中都有定义变量,并且其涵义也大同小异。从本质上讲,变量就是在程序中保存用户数据的一块内存空间,而变量名就是这块内存空间的地址。在程序的执行过程中,保存数据的内存空间的内容可能会不断地发生变化,但是,代表内存地址的变量名却保持不变。
- 可以使用数字,字母,和下划线给变量命名
- 不能用数字开头
- 如果给同一个变量赋值多次,最后一次赋值会覆盖之前的值
合法的变量名:name NMAE name1 name_1 Name_1
不合法的变量名:1name name*1 name_1%
查看单个变量的值:
- echo $PATH
- echo ${PATH}
- printf "$PATH "
- printf "${PATH} "
注意:$,,反单引号`,单引号,双引号
$:会将$符号后面的字符识别的成一个变量,引用变量里面的值;
:会将所有特殊字符转义,会让特殊字符失去原有的含义;
反单引号:会将反单引号里面的内容当成一个命令来执行;
单引号:会让所有处于单引号里面的特殊字符失效;
双引号:会让所有处于双引号里面的特殊字符失效,除了$,反单引号,在双引号里面保留自己的 特殊含义。
查看多个变量的值:
- set:查看所有的变量和函数
- declare:查看所有的变量和函数
- env:显示所有的全局变量
在命令行中定义:退出当前进程后该变量就失效,其他终端上无法使用该变量
在文件中定义:永久生效
当前用户生效的文件 :~/.bashrc 和 ~/.bash_profile
所有用户生效的文件: /etc/bashrc , /etc/profile , /etc/profile.d/*.sh
(1)局部变量(普通变量):只在某个特定范围生效的变量,比如只能在当前进程中使用的变量,只能 在函数中使用的变量。 在命令行设置:在当前进程生效 在脚本文件中设置:在脚本文件中生效 在函数中定义普通变量: local var="value" ,只在当前函数中生效 在用户登录时加载的文件中设置:在脚本文件中无法使用
(2)全局变量(环境变量):可以在创建他们的shell及其派生出来的子进程中使用(su 切换用户的时 候会读取新的环境变量)。
自定义环境变量和bash内置的环境变量。
- 自定义环境变量
export var 或 export var="value"
declare -x var="value" , declare +x var 可取消环境变量
- bash内置环境变量
shell程序在运行时,会接受一组变量来确定登录用户名、命令路径、终端类型、登录目录等等,这 些变量就是环境变量。shell内置的环境变量是所有的shell程序都可以使用的变量,环境变量会影 响所有的脚本的执行结果。
- 位置参数和预定义变量
很多情况下,shell脚本需要接受用户的输入,根据用户的输入来执行不同的操作。 从命令行传递给shell脚本的参数又称为叫做位置参数,shell脚本会根据参数的位置使用不同的位置参数 变量读取他们的值
expr
可用于整数运算,但还有很多其他额外的功能 使用expr时,运算符及用于 计算的数字左右都至少有一个空格,否则 会报错;使用乘号时,必须使用反斜线屏蔽其特定含义;使用expr做 计算,将一个未知的变量和一个已知的整数相加,看返回码是否为 0,如果为0就认为做加法的变量为整数,否则就不是整数。 bc linux下的一 个计算器程 序(适合整 数及小数运 算) [root@node13 test9]# echo `seq -s "+" 10` = `seq -s "+" 10 | bc ` seq是生成数字序列,-s是指定数字序列之间的分隔符 $[] 用于整数运算 awk awk既可以 用于整数运 算,也可以 用于小数运 算 declare 定义变量值 和属性,-i 参数可以用 于定义整形 变量,做运 算
${parameter%word}
从变量${parameter}结尾开始删除最短匹配的word子串 ${parameter%%word} 从变量${parameter}结尾开始删除最长匹配的word子串 ${parameter/pattern/string} 使用string代替第一个匹配的pattern ${parameter//pattern/string} 使用string代替所有匹配的pattern到此这篇批处理 读取文件内容到变量(批处理读取文件名变量)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/rgzn-zryycl/32974.html