用户从界面输入任意数字(用户可能输入的数字为负数),首先判断用户输入的数字的位数是否满足我在check.txt文件中第一个变量设置的值,如果不满足的话提示用户输入的数字越界。在满足的情况下,对该数字进行判断,判断该数字是否与我在check.txt文件中第二个变量设置的值相等,如果相等就提示用户数字猜对了,如果不相等就去比较这两个值,比第二个变量设置的值大就提示大了,比第二个变量设置的值小就提示小了,然后要求用户继续输入,直到输入的值与第二个变量设置的值相等结束脚本。 check.txt文件格式如下: 任意名字=任意值 任意名字=任意值(需要注意这里的值的位数需要满足第一变量的值)
时间: 2024-03-14 14:43:44 浏览: 91
好的,我可以为您提供一个Shell脚本来实现您的需求。请参考以下示例代码:
```bash
#!/bin/bash
# 读取check.txt文件中第一个变量设置的值
check=$(grep "^digit=" check.txt | cut -d'=' -f2)
echo "请输入一个${check}位数的数字:"
read input
# 判断输入的数字是否越界
if [[ ${#input} -ne ${check} ]]; then
echo "输入的数字不足${check}位,请重新输入。"
exit 1
fi
# 读取check.txt文件中第二个变量设置的值
answer=$(grep "^answer=" check.txt | cut -d'=' -f2)
# 比较输入的数字和答案
while [[ ${input} -ne ${answer} ]]; do
if [[ ${input} -gt ${answer} ]]; then
echo "猜大了,请重新输入:"
else
echo "猜小了,请重新输入:"
fi
read input
done
echo "恭喜你,猜对了!"
```
在这个脚本中,我们首先使用grep命令读取check.txt文件中第一个变量设置的值,并将其赋值给变量$check。然后,我们提示用户输入一个$check位数的数字,并将其存储在变量$input中。接下来,我们检查输入的数字是否满足要求,如果不满足要求,输出错误提示并退出脚本。
如果输入的数字符合要求,我们再使用grep命令读取check.txt文件中第二个变量设置的值,并将其赋值给变量$answer。然后,我们使用while循环来比较输入的数字和答案,如果不相等,根据大小关系输出相应的提示信息并要求用户重新输入,直到输入的数字等于答案为止。
最后,如果猜对了,输出恭喜信息提示。
阅读全文