Menu
CoddyTech

回顾:猜数字

本课属于 Coddy Terminal 学习旅程的“基础知识”单元。第 73 课,共 82 课。

challenge icon

挑战

简单

创建一个名为 guesser.sh 的 shell 脚本,用固定的一系列猜测来模拟数字猜谜游戏。

你的脚本应:

  1. 以 shebang 行(#!/bin/bash)开头
  2. 将名为 secret 的变量设为 5
  3. 将名为 guess 的变量初始值设为 0
  4. 使用 while 循环,只要 guess 不等于 secret,循环就继续
  5. 在循环内,将 guess 增加 1
  6. 使用 if 语句检查猜测结果:
    • 如果 guess 小于 secret,打印:Guess [guess]: Too low!
    • 如果 guess 等于 secret,打印:Guess [guess]: Correct!

让脚本可以执行,然后运行它。输出应为:

Guess 1: Too low!
Guess 2: Too low!
Guess 3: Too low!
Guess 4: Too low!
Guess 5: Correct!

每行使用一个 echo 来编写多行脚本是可行的,不过还有一种更简短的写法:here 文档会将内容一直传入文件,直到遇到结束标记。

cat > script.sh << 'EOF'
#!/bin/bash
echo "hello"
EOF

'EOF' 两边的引号可以防止写入文件时展开 $variables,如果脚本本身要使用这些变量,这正是你需要的效果。

提示:在 while 条件中使用 -ne 表示“不等于”,在 if 语句中使用 -lt 表示“小于”,使用 -eq 表示“等于”。在每次循环迭代开始时,使用 guess=$((guess + 1)) 来增加猜测值。

亲手试试

终端

基础知识中的所有课

自己练习: Terminal 在线编辑器