2016.9.8

2016-09-12  本文已影响0人  抬头向前看

1.字符串运算符

= : 判断两个字符是否相等【 $string1 = $string2 】
!= :判断两个字符是否不相等【 $string1 != $string2 】
-z :判断字符串长度是否为0

string=""
if [ -z $string ]
then    
    echo "length=0"
else
    echo "length!=0"
fi

-n :判断字符串长度是否不为0

string=""
if [ -n $string ]
then    
    echo "length!=0"
else
    echo "length=0"
fi

str :判断字符串长度是否为0,字符串是否存在

2.文件运算符

-d:目录文件
-f:普通文件
=r:可读文件
-w:可写文件
-x:可执行文件
-e:文件是否存在

if [ -e 0908 ]
then
    echo "文件已存在"
else    
    mkdir 0908
fi

3.case命令

case 操作符 in

模式1)
    语句1
;;
模式2)
    语句2
;;
模式3)
    语句3
;;
模式4)
    语句4
;;
*)相当于if语句中的else
esac

printf "input two numbers: "
read num1
read num2
printf "input yunsuan"
read op
case $op in
"+")
let value=num1+num2
printf "$value\n"
;;
"-")
let value=num1-num2
printf "$value\n"
;;
"")
let value=num1
num2
printf "$value\n"
;;
"/")
let value=num1/num2
printf "$value\n"
;;
esac

4.while运算

while [条件]
do
    语句
done

sum=0
i=1
while [ $i -le 100 ] #((i<=100))
do
let sum+=i
let i++
done
printf " sum=%d\n" "$sum"

5.shell参数

$0:代表这个可执行文件本身
$1:第一个参数
$2:第二个参数
...
$n:第n个参数
$#:参数的个数

//0.是否有参数
//1.判断这个文件是否存在
//2.如果不存在,输出错误信息

6.for 循环

for 变量 in 参数变量
do
  语句
done

7.数组

1.定义:

(1)array=(1 2 3 4 5)
(2)array[0]=1
    array[1]=4
    array[4]=6
(3)数组元素访问
    ${数组名[下标]}  #加上{},表示为一个整体
(4)访问数组所有元素
   ${array[@]}
   ${array[*]}
(5)@和*的区别
    array=(1 2 3 4 5)
    ${array[@]}="1" "2" "3" "4" "5"
    ${array[*]}= "1 2 3 4 5"

8.shell函数

1.定义

[function]     functionName
{
  语句体
}

function fun1
{
printf "====\n"
}
fun1

2.functionName

function fun1
{
        for value in "$@"                  //@
        do 
                printf "$value\n"
        done
        printf "====\n"
}
array=(1 2 3 4)
fun1 ${array[@]}

捕获.PNG
function fun1
{
        for value in "$*"            //*
        do 
                printf "$value\n"
        done
        printf "====\n"
}
array=(1 2 3 4)
fun1 ${array[@]}

捕获.PNG

3.如果shell函数传参,传的参数大于等于10个,在函数里面取第10 个数${10}

4.函数的返回值由$?去接收

1.$?: 它是临时保存最后一次运行的shell函数return出来的值
2.如果return $value出来的值$value>255,实际上返回出来的结果应该是$value%256
3.如果需要接受比255大的数,使用echo命令去保存shell函数的结果集,接收用另外一个变量
value去保存结果集,然后再进行运用,实际上value保存到的结果是shell函数echo后面的结果
function sum()
{
  echo
}
value='sum'
printf "%\n"  "$value"
上一篇下一篇

猜你喜欢

热点阅读