shell结

#!/bin/bash


prints()
{
         str="str1";
        echo "Hello"${str}
}


prints
echo ${str}

~                                                                                                                                   
wang@linux:~/test> ./testexit.sh  
Hellostr1

str1        


 #!/bin/bash


prints()
{
        local str="str1";
        echo "Hello"${str}
}


prints
echo ${str}

~               

 wang@linux:~/test> ./testexit.sh    
Hellostr1      



anadict.sh


#! /bin/bash


DICT=/usr/share/dict/words
COUNT=false
GROUP=false
WHERE=false
usage() {
    echo "usage: $0 [-c] [-w <where clause>] [-g <group by clause>]"
    echo -e "\tEXAMPLE"
    echo -e "\t$0 -c -w 's$ -g 1:3"
    echo -e "\tmeans"
    echo -e "\tselect count(*) where word like '%\'s' group by substr(word,0,3)"
}


where() {
    [ $WHERE = true ] && grep "$GREP" $1 || cat $1 
}


count() {
    wc -l --
}


toGroupKey() {
    IFS=: read offset length <<< $GRBY
    while read w
    do
if [ -z $length ];then
   k=${w:$offset}
else
   k=${w: $offset:$length}
fi
echo "${k}" | grep -v ^$
    done
}


groupByCount() {
    sort | uniq -c
}


[ $# -eq 0 ] && usage && exit 1


while getopts ":cw:g:" opt
do
    case $opt in
c ) COUNT=true
   ;;
w)
   WHERE=true
   GREP=$OPTARG
   ;;
g)
   GROUP=true
   GRBY=$OPTARG
   ;;
*)
   usage
   exit 1
   ;;
    esac
done


if [ $GROUP != true ]; then 
    where $DICT | ([ $COUNT = true ] && count || cat )
else
    where $DICT | toGroupKey | ([ $COUNT = true ] && groupByCount || cat )
fi
exit 0


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值