1. 四个最常用的转移字符如下:
1 反斜杠():使反斜杠后面的一个变量为单纯的字符串 2 单引号(''):转义其中所有的变量为单纯的字符串 3 双引号(""):保留其中的变量属性,不进行转义处理 4 反引号(``):把其中的命令执行后返回结果。
1 [root@localhost ~]# PRINCE=5 2 [root@localhost ~]# echo "PRINCE is $PRINCE" 3 PRINCE is 5 4 [root@localhost ~]# echo 'PRINCE is $PRINCE' 5 PRINCE is $PRINCE 6 [root@localhost ~]# echo "PRINCE is $$PRINCE" 7 PRINCE is 3878PRINCE 8 [root@localhost ~]# echo "PRINCE is $$PRINCE" 9 PRINCE is $5 10 [root@localhost ~]# echo `uname -a` 11 Linux localhost.localdomain 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
2. 执行shell脚本时,已经内设了用于接收参数的变量,变量之间可以使用空格间隔,例如$0对应的是当前Shell脚本的的名称,$#对应的是总共有几个参数,$*对应的是所有位置的参数值,$?对应的是显示上一次命令的执行返回值,而$1,$2,,3……则分别对应着第N个位置的参数值。
1 [root@test scripts]# vi example.sh 2 #!/bin/bash 3 4 echo "当前脚本名称为$0" 5 echo "总共有$#个参数,分别是:$*" 6 echo "第一个参数是:$1,第五个参数是:$5" 7 8 [root@test scripts]# sh example.sh one two three four five six 9 当前脚本名称为example.sh 10 总共有6个参数,分别是:one two three four five six 11 第一个参数是:one,第五个参数是:five