linux下shell脚本小游戏
时间: 2023-10-17 21:05:41 浏览: 171
好的,我可以给你介绍一个简单的Shell脚本小游戏,它叫做“猜数字游戏”。
首先,你需要创建一个名为“guess.sh”的Shell脚本文件。然后,将以下代码复制到文件中:
```shell
#!/bin/bash
# 生成随机数
number=$((RANDOM % 100 + 1))
echo "欢迎来到猜数字游戏!"
echo "我已经想好了一个 1 到 100 之间的数字。"
# 循环猜数字
while true
do
read -p "请猜一个数字:" guess
if [[ $guess -eq $number ]]; then
echo "恭喜你,猜对了!"
exit 0
elif [[ $guess -lt $number ]]; then
echo "太小了,请再猜一次。"
else
echo "太大了,请再猜一次。"
fi
done
```
这个脚本会生成一个1到100之间的随机数字,并让玩家猜数字,直到猜中为止。
保存文件后,将其设置为可执行文件:
```
chmod +x guess.sh
```
现在,你可以在终端中运行这个脚本:
```
./guess.sh
```
你可以按照脚本的提示来猜数字。如果猜中了,游戏就会结束。如果猜错了,脚本会提示你是猜小了还是猜大了,然后你可以再次猜数字。
这就是一个简单的Shell脚本小游戏。希望你喜欢它!
相关问题
linux之shell脚本数字游戏
Linux shell脚本中的数字游戏通常是指利用shell内置的命令和条件控制结构来实现一些简单的数学游戏或逻辑挑战,比如猜数字、计算器等。这些脚本可以帮助用户学习shell编程基础,同时提供娱乐性。
例如,一个简单的猜数字游戏可能会这样设计:
1. 生成一个随机数作为目标。
2. 提示用户输入他们猜测的数字。
3. 判断用户的猜测是否大于、小于还是等于目标。
4. 根据比较结果给出提示,循环进行直到用户猜中为止。
以下是一个基础版的猜数字游戏脚本示例:
```bash
#!/bin/bash
# 生成随机数(这里用到bash内置的shuf命令)
target=$(( (RANDOM % 100) + 1 ))
echo "欢迎来到猜数字游戏!我想了一个1到100之间的整数,请你猜一下是多少?"
# 设置一个无限循环直到猜中
while true; do
read -p "请输入你的猜测: " guess
if [[ $guess -eq $target ]]; then
echo "恭喜你,猜对了!目标数字就是$target"
break
elif [[ $guess < $target ]]; then
echo "你猜的数字太小了,再试一次吧!"
else
echo "你猜的数字太大了,再试一次!"
fi
done
linux 趣味shell脚本
Linux Shell脚本是一种非常有趣的编程语言,可以用来自动化许多常见的系统管理任务,如备份、日志分析、监控等。以下是几个趣味的Shell脚本示例:
1. 生成随机密码
```bash
#!/bin/bash
PASSWORD=$(date +%s | sha256sum | base64 | head -c 12 ; echo)
echo "Your password is: $PASSWORD"
```
这个脚本会生成一个随机的12位密码,并输出到屏幕上。密码是由当前时间经过SHA256哈希、Base64编码生成的。
2. 统计单词出现次数
```bash
#!/bin/bash
if [ $# -ne 1 ]; then
echo "Usage: $0 <filename>"
exit 1
fi
FILENAME=$1
tr -c '[:alnum:]' '[\n*]' < $FILENAME | sort | uniq -c | sort -nr
```
这个脚本会读取一个文件,并统计其中每个单词出现的次数。它使用了Linux提供的一些文本处理工具,如`tr`命令将非字母数字字符替换为回车符,`sort`命令对单词进行排序,`uniq -c`命令对相同的单词进行计数,`sort -nr`命令按照出现次数排序。
3. 简单的游戏
```bash
#!/bin/bash
echo "Guess the number between 1 and 100"
TARGET=$((RANDOM % 100 + 1))
TRIES=0
while true; do
read GUESS
if [ $GUESS -eq $TARGET ]; then
echo "Congratulations! You guessed the number in $TRIES tries."
exit 0
elif [ $GUESS -lt $TARGET ]; then
echo "Too low"
else
echo "Too high"
fi
TRIES=$((TRIES + 1))
done
```
这个脚本实现了一个简单的猜数字游戏。它使用`RANDOM`变量生成一个1到100之间的随机数,然后让玩家猜测这个数字。如果猜对了,则输出玩家猜了几次;如果猜错了,则提示猜的数字是太大还是太小,并让玩家继续猜。
阅读全文