1.Linux Bash变量类型
A 本地变量 B 环境变量 C 位置变量 D 特殊变量 需要注意的是: 父SHELL和子SHELL是两个不同的进程,他们不会共享本地变量。 环境变量对当前SHELL及其子SHELL有效。 位置变量,形如$1,$2 特殊变量,常用的有$?,$# |
2.撤销与查看变量
撤销变量: unset 变量名 查看变量: env export printevn |
3.变量如何进行算术运算?
我们知道对于SHELL而言,变量默认情况下都是字符串类型的。当然我们可以使用declare -i的方式显式指定数值类型。
方式一:$[]
|
上面的方式非常常用。
方式二:let
|
方式三:$(())
|
方式四:expr
|
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,可以联想对比下~