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[@]}
显示结果
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"
网友评论