shell-variable

变量的定义
变量即在程序运行过程中它的值是允许改变的量。变量是用一串固定的字符来标示不固定的值的一种方法。变量是一种使用方便的占位符,用于引用计算机内存地址,该地址可以存储 Script 运行时可更改的程序信息,在 shell 中变量是不能永久保存在系统中的,必须在文件中声明。
二、shell变量的分类
shell变量分为三类,分别为环境级变量,用户级变量,系统级变量;
(1)环境级变量只在当前shell中生效,shell关闭变量丢失,-------自定义变量
(2)用户级变量写在用户的骨文件中,只针对当前用户有效,
(3)系统级变量被写在系统的配置文件/etc/profile中
变量即在程序运行时保存在内存中。
硬盘永久,内存临时的。


1、自定义变量
两者赋值的方法
[root@test shell]# ip=`ifconfig eth0 |grep netmask |awk '{print $2}'`
解析:有同样效果的命令ip=$(ifconfig eth0 |grep netmask |awk '{print $2}')
[root@test shell]# echo $ip
10.10.10.5
[root@test shell]# ip=$(ifconfig eth0 |grep netmask |awk '{print $3}')
[root@test shell]# echo $ip
netmask
[root@test shell]# ip=$(ifconfig eth0 |grep netmask |awk '{print $3,$2}')
[root@test shell]# echo $ip
netmask 10.10.10.5

环境变量

env |less
echo $PATH
export JAVA_HOME=/usr/local/jdk

特殊变量

$$  Shell本身的PID(ProcessID) 
$!  Shell最后运行的后台Process的PID 
$?  最后运行的命令的结束代码(返回值) 
$-  使用Set命令设定的Flag一览 
$*  所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。 
$@  所有参数列表。如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。 
$#  添加到Shell的参数个数 
$0  Shell本身的文件名 
$1~$n  添加到Shell的各参数值。$1是第1参数、$2是第2参数…。 


[root@test shell]# echo $(($RANDOM%10000)) #10000内取余
9968
解析:$((...))结构的表达式是C风格的表达式,其返回的结果是表达式值,其中变量引用可不用‘$’(当然也可以)

unset 取消变量
[root@test ~]# echo $a
1
[root@test ~]# unset a
[root@test ~]# echo $a

[root@test ~]# 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值