1.变量的概念:变量是程序中保存用户的一块内存空间,变量名就是这块内存空间的地址,变量的值保存在计算机内存中。变量的定义:可以简单的理解,变量就是内存中一个键值关系对,如下 A可以理解为其在内存中的地址,1为其具体的内容。

[root@node-2 ~]# A=1
[root@node-2 ~]# echo $A
1

2.变量和引号:shell中一共有三种引号,单引号' ',双引号" "以及反引号,其中单引号括起来的字符都作为普通字符出现;双引号括起来的字符除了$ \ ` ' ' ,这几个字符仍保留其特殊功能,其余字符仍作为普通字符;反引号中的内容先被shell解释为命令执行,其输出结果作为后续的输入。

双引号"$ \ `` '' 可以转义 "
[root@node-2 ~]# str="hello world"#被双引号括起来的 hello+空格+world 作为一个字符串赋值给了str
[root@node-2 ~]# echo $str
hello world
单引号 ' 里面的字符只代表字符本身' 
[root@node-2 ~]# str="hello"
[root@node-2 ~]# echo "$str"
hello
[root@node-2 ~]# echo '$str'
$str
[root@node-2 ~]# 

反引号``
[root@node-2 ~]# pwd
/root
[root@node-2 ~]# MyDir=`pwd`#pwd命令获取当前的目录位置,然后把该位置赋值给MyDir
[root@node-2 ~]# echo $MyDir
/root
综合的
#!/bin/bash
D="Play"
A=""pwd"+'pwd'+`pwd`-$D-"$D"-'$D'-`$D`"
echo $A
结果:
[root@node-2 ~]# sh test.sh 
test.sh: line 3: Play: command not found
pwd+'pwd'+/root-Play-Play-'Play'-