2016.9.8 PM 课堂笔记 Shell 脚本

20.shell参数

$0: 代表这个可执行文件的本身
$1:第一个参数户
$2:第二个参数
$n:第n个参数
$#:参数个数的
$@:"1" "2" "3" "4"
$*:"1 2 3 4"
$?:接收函数的返回值,指的是临时保存最后一次运行的shell函数return出来的值
//0.是否有参数
//1.判断这个文件是否存在
//2.如果不存在,输出错误信息
//3.如果存在,运行

21.for循环

for 变量 in 参数列表
do
操作语句
done

22.数组

1.定义:
(1)

array=(99 100 101 55 35)
echo ${array[0]}

(2)

array[0]=1
array[5]=6

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

23.shell函数

(1)函数的定义
[function] functionName
{
printf "====\n"
}
(2)函数的调用 functionName
${array[@]} ---- "1" "2" "3" "4" "5"

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

显示结果


2016.9.8 PM 课堂笔记 Shell 脚本_第1张图片
1.png

${array[*]} ---- "1 2 3 4 5"

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

显示结果

2.png

(3)如果shell函数传参,传的参数大于等于10个,在函数里面取第10个数${10}
(4)函数的返回值
a. $?:接收函数的返回值,指的是临时保存最后一次运行的shell函数return出来的值
b. 如果return $value出来的值$value>255,实际上返回来的结果应该是$value%256
c. 如果需要接收比255大的数,使用echo命令去保存shell函数的结果集,接收用另外一个变量去保存结果集,然后再进行运用,实际上value保存到结果是shell函数echo后面的结果

function sum()
{
        echo "sum"
}  
value=`sum`
printf "%s\n" "$value"

你可能感兴趣的:(2016.9.8 PM 课堂笔记 Shell 脚本)