外贸网站建设要注意什么搜索引擎推广步骤
运算符语法
$((运算式))
$[运算式] 推荐使用
expr m + n expression表达式
expr表达式注意算法符之间要有空格如果希望将expr的结果赋值给变量使用``
expr *,,% (乘,除,取余)
计算(2+3)x4
计算两个数之和
vi opr.sh
#!/bin/bash
#计算(2+3)x4
#$((运算式))
res1=$(((2+3)*4))
echo "res1结果=$res1"
#$[运算式] `推荐使用`
res2=$[(2+3)*4]
echo "res2 结果=$res2"
#expression表达式
res3=` expr 2 + 3`
echo "res3 结果=$res3"
res4=` expr $res3 \* 4`echo "res4 结果=$res4"
#计算两个数之和
res5=$[$1+$2]
echo "res5 结果=$res5"
条件判断基本语法
[ condition ]注意condition前后要有空格
非空返回true,可使用$?验证(0:true >1:false)
条件判断
= 字符串判断 或者 两个正数比较
-lt 小于 -le 小于等于 -eq 等于 -gt 大于 -ge 大于等于 -ne 不等于
-r 读权限 -w 写权限 -x 执行权限
-f 文件存在并是一个常规的文件
-e 文件存在
-d 是一个目录
[ 有内容 ] 返回true
[ ] 返回false
流程控制
基本语法
if [ 条件判断式 ];
then
代码
fi
多分支
if [ 条件判断式 ];
then
代码
elif [ 条件判断式 ] && [ 条件判断式 ];
then
代码
else
代码
fi
vi condition.sh
#!/bin/bash
#输入的第一个参数和第二个参数是否相同
if [ $1 = $2 ];thenecho "$1 equal $2"
elseecho "$1 not equal $2"
fi
#输入的第三个参数比较大小
if [ $3 -ge 10 ];thenecho "$3 大于等于10"
elif [ $3 -gt 5 ] && [ $3 -lt 10 ];thenecho "$3 大于5且小于10"
elif [ $3 -le 5 ];thenecho "$3小于等于5"
elseecho "$3小于5"
fiFILE_PATH="/root/test_shell_code/var.sh"
if [ -f $FILE_PATH ];
thenecho "$FILE_PATH 文件存在"
else echo "$FILE_PATH 文件不存在"
fiif [ -x $FILE_PATH ];
thenecho "有$FILE_PATH的执行权限"
else echo "没有$FILE_PATH的执行权限"
fi
FILE_PATH="/root/test_shell_code1"if [ -d $FILE_PATH ];
thenecho "$FILE_PATH 目录存在"
elseecho "$FILE_PATH 目录不存在"
fiif [ felicia ];thenecho "hi felicia"
fiif [ ];thenecho "为假"
fi
case语句
级别语法
case $变量名 in “1”)
代码
;;
“2”)
代码
;;
“3”)
代码
;;
*)
代码
;;
esac
vi test_case.sh
#!/bin/bash
case $1 in "1")echo "星期一"
;;"2")echo "星期二"
;;"3")echo "星期三"
;;"4")echo "星期四"
;;"5")echo "星期五"
;;"6")echo "星期六"
;;"7")echo "星期天"
;;
*)echo "未知"
;;
esac
for循环
基本语法
for 变量 in 值1,值2,值3
do
代码
done
for ((初始值;循环控制条件;变量变化))
do
代码
done
打印输入的参数 可以看出 ∗ 和 *和 ∗和@的区别
vi test_for.sh
#!/bin/bash
for i in "$*"
doecho "num is $i"
donefor i in "$@"
doecho "num is $i"
done
vi test_for2.sh
#!/bin/bash
#从1加到N的值输出显示
SUM=0
for((i=1;i<=$1;i++))
doSUM=$[$SUM+$i]
done
echo "总和=$SUM"
while 循环
基本语法
while [ 条件判断 ]
do
代码
done
实例:输入一个数,统计从1+…+n的值是多少
vi test_while.sh
#!/bin/bash
SUM=0i=0
while [ $i -le $1 ]
doSUM=$[$SUM+$i]i=$[$i+1]
done
echo "总和=$SUM"