#!/bin/bash # Only 1 parameter ! if [ $# != 2 ];then echo " Usage: .\read.sh filename parameter !"; exit fi # check the file ! if ! [ -f $1 ];then echo "file does not exist!" exit elif ! [ -r $1 ];then echo "file can not be read !" exit fi # PRESS ANY KEY TO CONTITUE ! read -p "begin to read $1 " # set IFS="\n" , read $1 file per line ! IFS=" " # i is the line number i=1 for line in `cat $1` do echo line $i:$line let "i=$i+1" done declare -A myMap IFS=" " while read key val do echo 键=$key 值=$val myMap[$key]=$val done < $1 echo ${myMap[$2"_user"]} echo ${!myMap[@]} echo "Finished reading file by line ! "