1.双重变量引用:
1)eval (理解记忆:eval命令对所接的参数进行两次扫描,第一次扫描将参数中的变量进行替换,第二次将参数当做命令执行)
例子:
2)${!VAR} (这里的VAR相当于$VAR,!VAR是取出$VAR的值)
例子:
2.=~用法
[root@localhost ~]# A=1
[root@localhost ~]# [[ $A =~ [0-9] ]] && echo ok || echo fail
ok
理解记忆:
判断$A 是否为一个数字,=~理解为包含关系,A=~B,B包含A为真,不包含为假,B通常为正则表达式,跟[[ ]]一起使用。
3.$[]特殊用法
[root@localhost ~]# a=123456789
[root@localhost ~]# echo "${a:$[0-1]:1}"
9
解析:$[0-1]如果是单独使用,表示数学运算,但是在字符串截取中,$[0-1] 相当于 0-1,$[]在这里没有什么其他实际意义,相当于括号的意思,容易误解.
4.xargs -n+数字
[root@localhost tmp]# echo "1 2 3 4 5 6 7 8" | xargs -n1
1
2
3
4
5
6
7
8
[root@localhost tmp]# echo "1 2 3 4 5 6 7 8" | xargs -n2
1 2
3 4
5 6
7 8
xargs -n2:按空格每次读取或者按行读取参数,每次读取2个参数显示一行