user@user-virtual-machine:~$ hey="long"
user@user-virtual-machine:~$ echo da $hey
da long
* 星号 (wild card)
相当常用的符号。
1、在文件名扩展(Filename expansion)上,她用来代表0到无穷多个任意字符。
[root@RHEL6 ~]# ls a*
aaa anaconda-ks.cfg
[root@RHEL6 ~]#
2、在正则表达式(Regular Expressions)中,*代表重复零个到无穷多个的前一个字符,如:grep -n 'ess* file.txt ,则可能会匹配es、ess、esss等等。正则表达式中的0到无穷多个字符使用的是“.*”表示。
3、在运算时,它则代表 "乘法"。
let "fmult=2*3"
除了内建指令 let,还有一个关于运算的指令expr,星号在这里也担任"乘法"的角色。不过在使用上得小心,他的前面必须加上escape 字元。
** 次方运算
两个星号在运算时代表 "次方" 的意思。
let "sus=2**3"echo "sus = $sus" # sus = 8
$及$$ 钱号(dollar sign)
1、使用变量的前导符,即变量之前需要加的变量替代值
变量替换(Variable Substitution)的代表符号。
[root@RHEL6 ~]# vrs=123
[root@RHEL6 ~]# echo "vrs = $vrs"
vrs = 123
2、在 Regular Expressions 里被定义为 "行" 的最末端 (end-of-line)。这个常用在grep、sed、awk 以及 vim(vi) 当中。
[root@RHEL6 ~]# ll | grep "txt$" //列出行末是txt结尾的行
-rw-r--r--. 1 root root 1700 May 21 10:50 1.txt
-rw-r--r--. 1 root root 650 May 31 18:11 123.txt
-rw-r--r--. 1 root root 1700 May 21 10:50 2.txt
-rw-r--r--. 1 root root 923 May 27 09:20 network.txt
-rw-r--r--. 1 root root 96 Jun 1 17:58 printf.txt
-rw-r--r--. 1 root root 673 Jun 1 12:24 regular_express.txt
3、在bash中$本身也是个变量。代表的是目前这个shell的进程代码,即所谓的PID(Process ID)想要知道我们当前的shell的PID,可以这样
[root@RHEL6 ~]# echo $$
4316