寻找海盗的宝藏

ShellBeginner
立即练习

介绍

黑胡子船长将他的宝藏藏在了一个偏远的岛屿上,并留下一系列以 Shell 变量和算术运算形式编码的线索。在本次挑战中,你将补全一个编写了一部分的 Shell 脚本,通过解码这些线索来定位宝藏。

这是一个「挑战」项目,它与「引导实验」不同,你需要尝试独立完成挑战任务,而不是跟随实验步骤学习。挑战通常具有一定的难度。如果你觉得困难,可以与 Labby 讨论或查看解决方案。历史数据显示,这是一个 初学者 级别的挑战,通过率为 98%。它在学习者中获得了 98% 的好评率。

解码藏宝图

藏宝图已被编码进一个需要补全的 Shell 脚本中。该脚本使用基础算术运算将初始坐标转换为最终位置。你的任务是填入缺失的数值和计算公式,以揭示宝藏埋藏的地点。

任务

补全 /home/labex/project 目录下的 treasure_map.sh 脚本,要求如下:

  • LATITUDELONGITUDE 变量分配正确的初始值。
  • 实现算术运算以计算出 PACES_NORTHPACES_EAST

要求

  1. Shell 脚本 treasure_map.sh 位于 /home/labex/project,其代码结构如下:
#!/bin/bash

## Assign the correct values to these variables
LATITUDE=
LONGITUDE=

## Calculate the paces using arithmetic operations
PACES_NORTH=
PACES_EAST=

## Don't modify the line below
echo "The treasure is buried $PACES_NORTH paces north and $PACES_EAST paces east from the old oak tree."
  1. 使用以下数值和计算逻辑:

    • LATITUDE 设置为 15
    • LONGITUDE 设置为 25
    • 计算 PACES_NORTH,逻辑为纬度(latitude)乘以 2。
    • 计算 PACES_EAST,逻辑为经度(longitude)除以 5。
  2. 脚本将以如下格式输出宝藏位置:

The treasure is buried X paces north and Y paces east from the old oak tree.

其中 X 和 Y 是计算得出的数值。

示例输出

The treasure is buried 30 paces north and 5 paces east from the old oak tree.

提示

  • 确保使用 chmod +x 命令使脚本具有可执行权限。
✨ 查看解决方案并练习

总结

在本次挑战中,你学习了 Shell 脚本编写的基础知识:

  • 为变量赋值。
  • 在 Shell 脚本中执行算术运算。
  • 执行脚本并格式化输出内容。

这些技能是处理更复杂的 Shell 脚本任务的基石。