[Bash] 分支、循环、数组

分支

#!/bin/bash
read mychar
if [ "$mychar" == 'y' -o "$mychar" == 'Y' ];then
    echo YES
elif [ "$mychar" == "n" -o "$mychar" == "N" ];then
    echo NO
fi

循环和数组--替换国家名称的首字母为圆点

#!/bin/bash
#https://www.hackerrank.com/challenges/bash-tutorials-remove-the-first-capital-letter-from-each-array-element/problem?h_r=next-challenge&h_v=zen
read country
idx=0
while [ -n "$country" ]
do
    arr[idx]="$country"
    read country
    let idx+=1
done

#echo ${arr[*]}

length=${#arr[@]}

for((i=0;i<length;i++))
do
    myvar=${arr[i]}
    echo -n "."${myvar:1}" "
done

数组的下表和数组的值:找出一个不配对的数组元素

#!/bin/bash
#https://www.hackerrank.com/challenges/lonely-integer-2/problem?h_r=next-challenge&h_v=zen&h_r=next-challenge&h_v=zen
read N
read Line

arr=($Line)

for e in ${arr[@]}
do
    if [ -z "${cnt[e]}" ]; then
        cnt[e]=1
    else
        let cnt[e]+=1
    fi
done


#echo "${cnt[@]}"

#echo ${!cnt[@]}

for e in ${!cnt[@]}
do
    if [ ${cnt[e]} -eq "1" ]; then
        echo "$e"
        break
    fi
done

猜你喜欢

转载自my.oschina.net/u/553266/blog/2977911