从字母表中获取shell / terminal中剩余的字母,这些字母未被使用

时间:2016-04-03 16:54:28

标签: bash terminal

我尝试在终端制作一个刽子手游戏 我想显示尚未使用的字符,例如: 用户已经给出了字母:A,B,C& D. 我想表明:" chars left:EFGHIJKLM ....."

我的代码:

for x in {a..z}
do
    if [ "$x" != "$GUESSED" ]; then 
        LETTERSLEFT="$LETTERSLEFT $x"    
    fi
done
}

我尝试做什么: 如果$ x不在猜测的答案中,请将其添加到$ lettersleft

1 个答案:

答案 0 :(得分:1)

以下简单的shell脚本(在bash中测试)从用户读取一个字符,然后输出猜到的和左边的字母

#!/bin/bash

echo "Enter character:"
read GUESSED

for x in {a..z}
do
    if [[ "$GUESSED" != *"$x"* ]]
    then
        LETTERSLEFT="$LETTERSLEFT$x"
    fi
done
echo "Letters left:" $LETTERSLEFT
echo "Letters guessed:" $GUESSED

控制台输出

Enter character:
s
Letters left: abcdefghijklmnopqrtuvwxyz
Letters guessed: s

希望这有帮助