Linux学习之shell 编程基础(二)

一、bash环境变量

HOME、MAIL、SHELL、PATH 等,环境变量大都用大写字母组成

[root@localhost dalianmao]# echo $SHELL
/bin/bash
[root@localhost dalianmao]# echo $PATH
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/dalianmao/bin
[root@localhost dalianmao]# echo $MAIL
/var/spool/mail/dalianmao
[root@localhost dalianmao]# echo $HOME
/root

二、变量的取用与设定:echo,变量设定规则,unset

(1)echo $ variable

[root@localhost dalianmao]# echo $HOME
/root

(2)变量设定规则

  1、等号两边不能直接接空格符,如下所示为错误

[root@localhost dalianmao]# myname = dalianmao
bash: myname: command not found
[root@localhost dalianmao]# myname= dalianmao
bash: dalianmao: command not found

2、变量名称只能是英文字母与数字,但是开头字符不能是数字,如下为错误:

[root@localhost dalianmao]# 2myname=dalianmao
bash: 2myname=dalianmao: command not found

3、变量内容若有空格符可使用双引号或者单引号将变量内容结合起来,但

  • 双引号内的特殊字符如$等,可以保有原本的特性,如下所示:
    [dalianmao@localhost ~]$ clear
    [dalianmao@localhost ~]$ name=dalianmao
    [dalianmao@localhost ~]$ name="my name is $name"
    [dalianmao@localhost ~]$ echo $name
    my name is dalianmao
  • 单引号内的特殊字符则仅为一般字符(纯文本),如下所示:  
[dalianmao@localhost ~]$ name=dalianmao
[dalianmao@localhost ~]$ name='my name is $name'
[dalianmao@localhost ~]$ echo $name
my name is $name

4、可用跳脱字符  \ 将特殊符号(如Enter,$,\,空格符,' 等)变成一般字符;

5、在一串指令中,还需要籍由其他的指令提供的信息,可以使用反单引号` $

[dalianmao@localhost ~]$ clear
[dalianmao@localhost ~]$ myname=`ll|grep wzc`
[dalianmao@localhost ~]$ echo $myname
drwxr-xr-x. 3 root root 4096 Sep 21 09:13 wzc
[dalianmao@localhost ~]$ name=$(ll|grep wzc)
[dalianmao@localhost ~]$ echo $name
drwxr-xr-x. 3 root root 4096 Sep 21 09:13 wzc

6、若该变量为扩增内容时,则可用“$变量”或${变量}累加内容。

[dalianmao@localhost ~]$ myname=dalianmao
[dalianmao@localhost ~]$ echo $myname
dalianmao
[dalianmao@localhost ~]$ myname=${myname}' is my name!'
[dalianmao@localhost ~]$ echo $myname
dalianmao is my name!
[dalianmao@localhost ~]$ myname="$myname"' is myname!hahahhaha'
[dalianmao@localhost ~]$ echo $myname
dalianmao is my name! is myname!hahahhaha

7、若该变量需要在其他子程序执行,则需要以export来使变量变成环境变量。

[dalianmao@localhost ~]$ name=dalianmao
[dalianmao@localhost ~]$ echo $name
dalianmao
[dalianmao@localhost ~]$ bash
[dalianmao@localhost ~]$ echo $name

[dalianmao@localhost ~]$ exit
exit
[dalianmao@localhost ~]$ export name
[dalianmao@localhost ~]$ bash
[dalianmao@localhost ~]$ echo $name
dalianmao
[dalianmao@localhost ~]$ exit
exit
[dalianmao@localhost ~]$ unset name
[dalianmao@localhost ~]$ echo $name

[dalianmao@localhost ~]$ 

8、取消变量的方法为使用unset。

[dalianmao@localhost ~]$ myname=dalianmao
[dalianmao@localhost ~]$ echo $myname
dalianmao
[dalianmao@localhost ~]$ unset myname
[dalianmao@localhost ~]$ echo $myname

[dalianmao@localhost ~]$ 

猜你喜欢

转载自blog.csdn.net/dalianmao66/article/details/83306738