shell 变量


1 显示变量

[root@localhost ~]#h=”adeal”; //设置变量 注意:h和等号之间不能有空格
[root@localhost ~]#echo $h; //打印出变量h的值
[root@localhost ~]#a=1000;
[root@localhost ~]#echo $a;

2 清除变量

[root@localhost ~]#unset 变量名
例:
[root@localhost ~]#h=”adeal”;
[root@localhost ~]#echo $h;
adeal
[root@localhost ~]#unset h;
[root@localhost ~]#echo $h;

3 显示所有本地shell变量

使用set命令可以显示所有本地定义的shell变量
[root@localhost ~]#set

__CF_USER_TEXT_ENCODING=0x1F5:0x19:0x34

h=adeal

update_terminal_cwd ()
{
local SEARCH=’ ‘;
local REPLACE=’%20’;
local PWD_URL=”file://$HOSTNAME${PWD//$SEARCH/$REPLACE}”;
printf ‘\e]7;%s\a’ “$PWD_URL”
}


4 组合变量使用

[root@localhost ~]#echo ${变量1}${变量2}
例:
[root@localhost ~]#$a=”hello”;b=”world”;
[root@localhost ~]#echo $a,$b;
hello,world


5 检测变量是否已定义

[root@localhost ~]#echo ${变量名: -value}

例:
[root@localhost ~]#a=”hello,world”;echo $a;unset a;echo 变量未设置 ${a:-变量未设置};echo $a;
hello,world
变量未设置 变量未设置

6 检测变量是否未定义,如果未定义,则赋值

[root@localhost ~]#echo ${变量名:=value}
[root@localhost ~]#a=”hello,world”;echo $a;unset a;echo 变量未设置 ${a:=变量已经设置***};echo $a;
hello,world
变量未设置 变量已经设置***
变量已经设置***

7 设置只读变量 查看只读变量

[root@localhost ~]#变量名=value
[root@localhost ~]#readonly 变量名 //设置变量名为只读
[root@localhost ~]#readonly //查看当前终端下的只读变量
例:
[root@localhost ~]a=”hello,world”;
[root@localhost ~]#readonly a; //设置变量a为只读变量
[root@localhost ~]#redonly;//查看系统中所有的只读变量

如果我们想改变量的只读属性,只能通过启动新的进程,清空所有的变量,来改变变量的属性。

相关阅读:
linux c 如何操作环境变量
linux 下环境变量的功能
linux shell如何查询环境变量