变量的定义
1、变量是在程序运行过程中,值允许改变的量
2、变量是用一串固定的字符来表示不固定的值
变量的规则
1、只能使用英文字母,数字和下划线,首个字符不能以数字开头
[root@localhost ~]# my_name="China Heart"
[root@localhost ~]# _name="China Heart"
[root@localhost ~]# my_name1="China Heart"
2、等号两边不能存在空格字符
#错误示范:
[root@localhost ~]# my_name = "China "
[root@localhost ~]# my_name=China Heart
3、变量与变量内容以一个等号”=”连接
4、变量内容可使用双引号或者单引号
注意:双引号内的特殊字符可以保持原有的特性,单引号内的特殊字符仅为一般字符
[root@localhost ~]# my_name="China"
[root@localhost ~]# echo $my_name
China
[root@localhost ~]# info="$my_name Heart"
[root@localhost ~]# echo $info
China Heart
[root@localhost ~]# info1='$my_name Heart'
[root@localhost ~]# echo $info1
$my_name Heart
变量的使用
推荐使用${}
[root@localhost ~]# my_name="China"
[root@localhost ~]# echo $my_name
China
[root@localhost ~]# echo ${my_name}
China
#特殊示范
[root@localhost ~]# my_name="China"
[root@localhost ~]# echo $my_nameHeart
[root@localhost ~]# echo ${my_name}Heart
ChinaHeart
外部变量值的传递
变量 | 含义 |
---|---|
$0 | 执行脚本的名称 |
$1 | 脚本后的第一串字符串 |
$2 | 脚本后的第二串字符串 |
$# | 脚本后所跟的字符串的个数 |
$* | 脚本后跟的所有字符串,模式为“1 2 3”,一个字符串 |
$@ | 脚本后跟的所有字符串,模式为“1”“2”“3”,三个字符串 |
$$ | 当前进程的pid |
#!/bin/bash
# test.sh脚本
echo '$0' is $0
echo '$1' is $1
echo '$2' is $2
echo '$3' is $3
echo '$*' is $*
echo '$@' is $@
echo '$#' is $#
echo '$$' is $$
[root@localhost ~]# sh test.sh a b c
$0 is test.sh
$1 is a
$2 is b
$3 is c
$* is a b c
$@ is a b c
$# is 3
$$ is 8123