shell作业二

1、将密码文件的每一行作为元数赋值给数组
第一种

#!/bin/bash
declare -a array1
j=0

for i in `cat /etc/shadow`
do
  echo $i
  array1[$j]="$i"
  let j++
done

echo ${!array1[*]}

第二种

array1=(`cat /etc/shadow`)

2、使用关联数组统计密码文件中用户使用的不同类型shell的数量

array1=(`awk 'BEGIN{FS=":"; OFS=":"}{print $1,$7}' /etc/passwd `)
declare -A array2
for i in ${array1[*]}
do
  str=`echo $i | cut -d':' -f1 `
  array2[$str]=`echo $i | cut -d':' -f2 `
done

echo ${!array2[*]}
echo ${array2[*]}

3、使用关联数组按扩展名统计指定目录中文件的数量

read -p "请输入要查看的目录:" path
[ -z $path ]&& echo "输入错误:输入为空" && exit 1
cd $path
for i in `ls`
do
        if [ -d $i ]; then
          echo $i >>/tmp/ceshi.txt
        fi
done
declare -A array
a=0
while read line
do
  let array[$a]++
done 

你可能感兴趣的:(she‘ll,bash)