Shell入门06 -- 数组与函数

2021-10-11  本文已影响0人  YanZi_33

普通数组

#!/usr/bin/bash

my_array=(A B "C" D)
my_array[4]=E


echo "第一个元素为: ${my_array[0]}"
echo "第二个元素为: ${my_array[1]}"
echo "第三个元素为: ${my_array[2]}"
echo "第四个元素为: ${my_array[3]}"
echo "第五个元素为: ${my_array[4]}"

echo "所有元素: ${my_array[*]}"
echo "所有元素: ${my_array[@]}"
echo "所有元素索引:${!my_array[*]}"

echo "数组的长度为: ${#my_array[*]}"

关联数组

函数

函数的定义,实现与调用
#!/bin/bash

#函数定义一
function hello(){
  echo "hello world!!!"
}

#函数调用
hello

#函数定义二 
hello2(){
  echo "hello2 world!!!"
}

#函数调用
hello2
案例:统计文件行数
#!/bin/bash

File=/etc/passwd

count(){
  local I=0
  while read line
  do
    let I++

  done <$File

  echo "$File is count $I"
}

count
函数返回值
#!/bin/bash


File=/etc/qqqqq

check_file(){
   if [ -f $File ]; then
       return 0
   else
       return 1
   fi
}

check_file

if [ $? -eq 0 ]; then
   echo "该文件存在 $File"
else
   echo "该文件不存在 $File"
fi
案例:数字游戏
#!/bin/bash

check_num(){
   read -p "请输入对应的数字: " num

   if [ $num -ge 0 -a $num -lt 10 ]; then
      return 0
   elif [ $num -ge 10 -a $num -lt 20 ]; then
      return 1
   elif [ $num -ge 20 -a $num -lt 30 ]; then
      return 2
   else
      return 3
   fi
}

check_num

#变量保存check_num函数的返回值
test=$?

if [ $test -eq 0 ]; then
   echo "您输入的数字是[0,10)"
elif [ $test -eq 1 ]; then
   echo "您输入的数字是[10,20)"
elif [ $test -eq 2 ]; then
   echo "您输入的数字是[20,30)"
else
   echo "您输入的数字 -- 其他"
fi
image.png
指定位置参数值
#!/bin/bash

set 6 5 4 3 2 1 2 3 4 5 6

count=1

for i in $*
do
  echo "count: $i"
  let count++
done
上一篇 下一篇

猜你喜欢

热点阅读