|
1.Linux Bash变量类型
A 本地变量
B 环境变量
C 位置变量
D 特殊变量
需要注意的是:
父SHELL和子SHELL是两个不同的进程,他们不会共享本地变量。
环境变量对当前SHELL及其子SHELL有效。
位置变量,形如$1,$2
特殊变量,常用的有$?,$#
|
2.撤销与查看变量
撤销变量:
unset 变量名
查看变量:
env
export
printevn
|
3.变量如何进行算术运算?
我们知道对于SHELL而言,变量默认情况下都是字符串类型的。当然我们可以使用declare -i的方式显式指定数值类型。
方式一:$[]
[root@localhost ~]# echo $[1+2]
3
[root@localhost ~]# a=100
[root@localhost ~]# b=2
[root@localhost ~]# echo $[$a/$b]
50
[root@localhost ~]# |
上面的方式非常常用。
方式二:let
[root@localhost ~]# let a=1+2
[root@localhost ~]# echo $a
3
[root@localhost ~]# |
方式三:$(())
[root@localhost ~]# echo $((1+2))
3
[root@localhost ~]# echo $((9%2))
1
[root@localhost ~]# |
方式四:expr
[root@localhost ~]# echo `expr 1 + 2`
3 |
4.条件测试
在JAVA的使用中,我们经常需要进行判断,根据条件来进行不同的操作,实际中,下面三种条件测试最为常用:
A 数值比较
[ num1 -eq num2 ]
-eq -gt -lt -ge -le -ne
记住,不能用>,<这种符号。
B 字符串测试
[ str1 == str2 ]
[ str1 != str2 ]
[ -n str1 ] 即not empty string,如果str1为"",则为假。用于判断字符串非空。
[ -z str1 ] empty string is true。
C 文件判断
[ -e filepath ]
[ -f filepath ]
[ -d filepath ]
[ -w filepath ]
[ -r filepath ]
[ -x filepath ]
| 测试的几种形式:
[ expression ]
` expression `
test expression
|
5.流程控制
if
if condition ; then
statement
fi
if condition ; then
statement
else
statement
fi
if condition ; then
statement
elif condition ; then
statement
elif condition ; then
statement
fi
|
for
for i in sequence ; do
statement
done
需要注意的是,sequence如何生成的问题。
比如,整数的话,那么可以使用seq命令。
seq end
seq start end
seq start step end
当然,这个sequence也可以是`ls somedir`等命令的执行结果~
|
总之,类似于JAVA,可以联想对比下~
|
|
|