【Linux实践】实验八:Shell程序的创建及变量

文章目录


实验八:Shell程序的创建及变量

实验目的:
  1. 掌握Shell程序的创建过程及Shell程序的执行方法。
  2. 掌握Shell变量的定义方法,及用户定义变量、参数位置等。
  3. 掌握变量表达式,包括字符串比较、数字比较、逻辑测试、文件测试。
实验内容:
  1. 查看当前系统下用户Shell定义的环境变量的值。
  2. 定义变量AK的值为200,并将其显示在屏幕上。
  3. 定义变量AM的值为100,并使用test命令比较其值是否大于150。
  4. 创建一个简单的Shell程序,其功能为显示计算机主机名以及显示系统日期和时间,并执行该程序。
操作步骤:
1. 查看环境变量
bash 复制代码
env

描述: 这个命令会列出当前用户的所有环境变量。

2. 定义变量AK
bash 复制代码
AK=200
echo $AK

描述:

  • AK=200: 这行命令定义了一个名为AK的变量,并赋值为200。
  • echo $AK: 这行命令用于在屏幕上显示变量AK的值。
3. 定义变量AM并比较
bash 复制代码
AM=100
if [ $AM -gt 150 ]; then
    echo "AM的值大于150。"
else
    echo "AM的值不大于150。"
fi

描述:

  • AM=100: 定义了一个名为AM的变量,并赋值为100。
  • if [ $AM -gt 150 ]: 使用test命令来检查AM的值是否大于150。
  • echo "AM的值大于150。": 如果条件为真,则打印这个消息。
  • echo "AM的值不大于150。": 如果条件为假,则打印这个消息。
4. 创建Shell程序
bash 复制代码
#!/bin/bash
# 这是一个Shell程序,用于显示计算机的主机名和当前日期时间

# 显示主机名
echo "主机名: $(hostname)"

# 显示系统日期和时间
echo "日期和时间: $(date)"

描述:

  • #!/bin/bash: 这是一个称为shebang的特殊构造,告诉系统这个脚本是用bash shell执行的。
  • echo "主机名: $(hostname)": 显示当前计算机的主机名。
  • echo "日期和时间: $(date)": 显示当前的日期和时间。

保存为info_display.sh,然后执行:

bash 复制代码
chmod +x info_display.sh
./info_display.sh

描述:

  • chmod +x info_display.sh: 这个命令给予脚本文件执行权限。
  • ./info_display.sh: 执行脚本。
命令 描述
env 显示所有环境变量
AK=200 定义变量AK并赋值为200
echo $AK 显示变量AK的值
AM=100 定义变量AM并赋值为100
if [ $AM -gt 150 ]; then 如果AM的值大于150,则执行
echo "AM的值大于150。" 显示AM大于150的信息
echo "AM的值不大于150。" 显示AM不大于150的信息
chmod +x info_display.sh 给予脚本执行权限
./info_display.sh 执行脚本
相关推荐
甲鱼92915 小时前
MySQL 实战手记:日志管理与主从复制搭建全指南
运维
Johny_Zhao1 天前
OpenClaw安装部署教程
linux·人工智能·ai·云计算·系统运维·openclaw
YuMiao2 天前
gstatic连接问题导致Google Gemini / Studio页面乱码或图标缺失问题
服务器·网络协议
chlk1233 天前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑3 天前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件3 天前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
碳基沙盒3 天前
OpenClaw 多 Agent 配置实战指南
运维
深紫色的三北六号3 天前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash3 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
哈基咪怎么可能是AI4 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github