逐字逐句地逐字逐句?

时间:2016-09-04 03:01:31

标签: bash random

处理此问题: 一个简单的游戏,用于回应随机键盘字符;然后让用户尽可能快地匹配该角色(这尚未实现(显然),但这是目标)并保持"正确匹配的总计。"

#!/bin/bash
score=0
while true; do
clear
echo "$score"
character=$(</dev/urandom tr -dc '1234567890{}[]`~\/><!@#$%^&*()_+=-abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' | head -c1)
echo "$character"
read -rsn1 input
if [ "$character" = "$input"]; then
  echo "[+]"
  score ++
  sleep 1
else
  echo "wrong!"
  score=0
  sleep 1
fi
done

直接,我的问题是: 我为什么要

[: missing `]'

错误。 我已经尝试了

的所有变体
if [ "$character" = "$input" ]; then

和第二个问题: 我怎么能正确地问我的下一个问题是: 给定一个长的随机字符串,一个&#34;如何爆炸&#34;那个字符串使得每个字符之间都有一个空格?我没有经验/词汇来描述这个操作。

非常感谢!

1 个答案:

答案 0 :(得分:1)

]之前必须有这样的空格:

if [ "$character" = "$input" ]; then

另外,要将bash置于算术模式,请替换此行:

score ++

使用:

((score ++))