Ubuntu 下的shell基本语法

注意shell的默认赋值是字符串赋值

var=1 var=$var+1 echo $var


打印出来的不是2而是1+1。为了达到我们想要的效果有以下几种表达方式:
let "var+=1" var=$[$var+1] var=$(($var+1)) var=`expr $var + 1`#注意加号两边的空格,否则还是按照字符串的方式赋值。

注意:前两种方式在bash下有效,在sh下会出错。
let表示数学运算,expr用于整数值运算,每一项用空格隔开,$[]将中括号内的表达式作为数学运算先计算结果再输出。
Shell脚本中有许多变量是系统自动设定的,我们将在用到这些变量时再作说明。除了只在脚本内有效的普通shell变量外,还有环境变量,即那些由export关键字处理过的变量。本文不讨论环境变量,因为它们一般只在登录脚本中用到。

if 语 句
"if"表达式如果条件为真,则执行then后的部分:
if ....; then .... elif ....; then .... else .... fi

【Ubuntu 下的shell基本语法】大多数情况下,可以使用测试命令来对条件进行测试,比如可以比较字符串、判断文件是否存在及是否可读等等……通常用" [ ] "来表示条件测试,注意这里的空格很重要,要确保方括号前后的空格。
[ -f "somefile" ] :判断是否是一个文件
[ -x "/bin/ls" ] :判断/bin/ls是否存在并有可执行权限
[ -n "$var" ] :判断$var变量是否有值
[ "$a" = "$b" ] :判断$a和$b是否相等


    推荐阅读