Shell 的变量功能

搜寻路径PATH(系统预设变量)
执行命令时,系统透过PATH得路径顺序搜寻指令,如果再搜寻完后还找不到该指令,就会打印错误讯息【command not fount】。
 
环境变量
进入shell之前,需要一些变量来设置该shell得环境,例如是否要彩色显示等等。
为了区分与自定义变量得不同,环境变量通常大写,例如PATH、HOME、MAIL等。
 
变量得取用与设定:echo,变量设定规则,unset
1.echo取用变量
1)echo $variable
2)echo ${variable}
 
2.设定或修改变量
myname=VBird
echo $myname
说明:
0)等号两边不能直接接空格符;
1)若有空格符可以使用双引号『 " 』或单引号『 ' 』来将变量内容结合起来,但须要特别留意, 双引号内的特殊字符可以保有变量特性,但是单引号内的特殊字符则仅为一般字符
2)必要时需要以跳脱字符『 』来将特殊符号 ( 如 Enter, $, \, 空格符, ' 等 ) 变成一般符号
3)在一串指令中,还需要藉由其它的指令提供的信息,可以使用 quote 『` command` 』;(特别 特别注意,那个 ` 是键盘上方的数字键 1 左边那个按键,而不是单引号!)——内含指令
4)若该变量为扩增变量内容时,则需以双引号及 $变量名称 如:『"$PATH":/home』继续累加内容;
5)若该变量需要在其它子程序执行,则需要以 export 来使变量变成环境变量, 如『 export PATH』;
6)取消变量的方法为:『 unset 变量名称』
单引号、双引号、跳脱字符、钱字号、quote符号等等。
 
环境变量的功能
家目录的变换啊、提示字符的显示啊、执行文件搜寻得路径啊。
1.env指令
env——列出当前shell下所有环境变量与其内容
这些变量中,比较重要,但楼主也不是很了解得变量有下面这些
1)RANDOM : 这个玩意儿就是『随机随机数』的变量啦!目前大多数的 distributions 都会有随机 数产生器,那就是 /dev/random 这个档案。 我们可以透过这个随机数档案相关的变量 ($RANDOM) 来随机取得随机数值喔。在 BASH 的环境下,这个 RANDOM 变量的内容,介于 0~32767 之间,所以,你只要 echo $RANDOM 时,系统就会主动的随机取出一个介于 0~32767 的数值。
 
2.set指令
set——列出环境变量、自订变量,与其他所有变量。
这些变量中,比较重要,但楼主也不是很了解得变量有下面这些
1)PS1(提示字符得设定)
当我们每次 按下 [Enter] 按键去执行某个指令后,最后要再次出现提示字符时, 就会主动去读取这个变数值了。
我尝试了使用PS1=XXX赋值来修改
 
2)$(关于本shell的PID)
echo $$
 
3)?(关于上个执行指令的回传码)
一般来说,如果成功的执行该指令, 则会回传一个 0 值,如果执行过程发生错误,就会回传『错误代码』才对!一般就是以非为 0 的数值来取代。 
 
3.自订变量转成环境变量: export
自订变量与环境变量的区别在于可否被子程序所引用
1)# export ——秀出所有得【环境变量】
2)# export 变量 ——讲自订变量转换为环境变量
 
变量键盘读取、数组与宣告:read,array,declare
1.read
读取来自键盘输入得变量
1)# read atest  ——用户往atest变量中输入内容
2)# read -p "Please keyin your name: " -t 30 named 
提示信息Please keyin your name: ,等待时间30s,用户往named变量输入内容。
 
2.declare/typeset
申明变量得属性。
1)# declare
同set,输出所有变量
2)# declare -i sum=100+300+50
声明sum为整数,所有后面的是加法,echo $sum为450
3)# declare -x sum
将sum变成环境变量,同export
4)declare -r sum
将sum变为只读变量,不能赋值,不能unset
整数、数组、字符串
 
3.数组说明
shell只支持一维数组、读取时建议直接以${数组}的方式
# var[1]="small min"
# var[2]="big min"
# var[3]="nice min"
#echo "${var[1]}, ${var[2]}, ${var[3]}"
 
4.ulimit限制使用者的某些系统资源
包括可以打开得文件、可以使用的CPU时间、可以使用的内存总量等
1)# ulimit -a
列出所有得限制数据
2)# ulimit -f 1024
限制使用者仅能创建1MBytes以下容量的文件。
原文地址:https://www.cnblogs.com/yanxin880526/p/4750770.html