【发布时间】:2018-03-28 06:53:54
【问题描述】:
这个猪拉丁语翻译器适用于所有以元音开头的单词;但是,当参数以辅音开头时,此脚本不会打印任何内容
PIGIFY=$1
vowels=(a e i o u A E I O U)
CHECK=0
for element in $vowels; do
if [[ $element == ${PIGIFY:0:1} ]]
then
echo ${PIGIFY}ay
break
fi
if [ $CHECK -eq 9 ]
then
echo ${PIGIFY:1}${PIGIFY:0:1}way
fi
CHECK=$(( CHECK+1 ))
done
我的脚本将尝试将参数的第一个字母与所有可能的元音进行比较,包括大写字母。一旦我们有到达器 U 并且我们发现单词不是以 U 开头的,计数器应该等于 9,然后我希望第二部分被回显。我想知道我的第二个条件是否格式正确,或者我是否弄乱了计数器的增量。
【问题讨论】:
-
$vowels仅扩展为a,因为它等同于${vowels[0]}。你的意思可能是"${vowels[@]}"。
标签: bash for-loop conditional