终端中的棋盘

LinuxLinuxIntermediate
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在这个项目中,你将学习如何使用Bash脚本创建一个棋盘。通过完成这个项目,你将获得使用嵌套循环、彩色打印和 shell 脚本的经验。

🎯 任务

在这个项目中,你将学习:

  • 如何设置创建棋盘的环境
  • 如何提示用户输入棋盘的大小
  • 如何使用嵌套循环打印出黑白交替单元格的棋盘

🏆 成果

完成这个项目后,你将能够:

  • 使用Bash脚本创建一个可视化的棋盘
  • 利用嵌套循环生成类似网格的结构
  • 实现彩色打印以增强输出的视觉吸引力
  • 提示用户输入并使用该输入生成所需的输出

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("`Linux`")) -.-> linux/BasicSystemCommandsGroup(["`Basic System Commands`"]) linux(("`Linux`")) -.-> linux/BasicFileOperationsGroup(["`Basic File Operations`"]) linux(("`Linux`")) -.-> linux/FileandDirectoryManagementGroup(["`File and Directory Management`"]) linux(("`Linux`")) -.-> linux/VersionControlandTextEditorsGroup(["`Version Control and Text Editors`"]) linux/BasicSystemCommandsGroup -.-> linux/echo("`Text Display`") linux/BasicSystemCommandsGroup -.-> linux/read("`Input Reading`") linux/BasicFileOperationsGroup -.-> linux/chmod("`Permission Modifying`") linux/FileandDirectoryManagementGroup -.-> linux/cd("`Directory Changing`") linux/VersionControlandTextEditorsGroup -.-> linux/vim("`Text Editing`") linux/VersionControlandTextEditorsGroup -.-> linux/nano("`Simple Text Editing`") subgraph Lab Skills linux/echo -.-> lab-299820{{"`终端中的棋盘`"}} linux/read -.-> lab-299820{{"`终端中的棋盘`"}} linux/chmod -.-> lab-299820{{"`终端中的棋盘`"}} linux/cd -.-> lab-299820{{"`终端中的棋盘`"}} linux/vim -.-> lab-299820{{"`终端中的棋盘`"}} linux/nano -.-> lab-299820{{"`终端中的棋盘`"}} end

设置环境

在这一步中,你将为创建棋盘设置环境。

  1. 打开一个文本编辑器,创建一个名为 chess_board.sh 的新文件。
  2. 在文件开头添加以下 shebang 行:
#!/bin/bash

此行告诉系统使用 Bash shell 来执行该脚本。

提示用户输入棋盘大小

在这一步中,你将提示用户输入棋盘的大小。

  1. 将以下代码添加到你的脚本中:
echo -e "\e[44m[Input]\e[0m Enter the size of the chess board: "
read value

这段代码将显示一个提示,让用户输入棋盘的大小,并将用户的输入存储在 value 变量中。

打印棋盘

在这一步中,你将使用嵌套循环来打印棋盘。

  1. 将以下代码添加到你的脚本中:
echo -e "\n\n\e[42m[OUTPUT]\e[0m REQUESTED CHESS-BOARD \e[42m[OUTPUT]\e[0m"

for ((row = 1; row <= value; row++)); do
  for ((col = 1; col <= value; col++)); do
    sumOfRowAndCol=$(($(($row + $col)) % 2))
    if [ $sumOfRowAndCol -eq 0 ]; then
      echo -e -n "\033[47m" " "
    else
      echo -e -n "\033[40m" " "
    fi
  done
  echo -ne "\033[0m" " "
  echo
done

echo -n -e "\033[0m"

这段代码使用嵌套循环遍历棋盘的行和列。对于每个单元格,它计算行和列索引的总和,并使用该值来确定单元格应该是黑色还是白色。echo 命令用于为每个单元格打印适当的颜色,并在每行之后重置颜色。

运行脚本

在这一步中,你将运行脚本来生成棋盘。

  1. 保存 chess_board.sh 文件。
  2. 打开一个终端,导航到你保存脚本的目录。
  3. 通过运行以下命令使脚本可执行:
chmod +x chess_board.sh
  1. 通过执行以下命令运行脚本:
./chess_board.sh

该脚本将提示你输入棋盘的大小,然后将棋盘打印到终端。

恭喜!你已成功使用Bash脚本创建了一个棋盘。

✨ 查看解决方案并练习

总结

恭喜!你已完成这个项目。你可以在LabEx中练习更多实验来提升你的技能。

您可能感兴趣的其他 Linux 教程