【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 执行脚本
相关推荐
Gauss松鼠会36 分钟前
GaussDB 整体架构解析
运维·服务器·网络·数据库·sql·架构·gaussdb
一技安身43 分钟前
MySQL 8.4.13 LTS 通用二进制包(Linux免安装版)完整教程
linux·mysql·adb
迷途之人不知返1 小时前
【动态库与静态库】-3-静态链接与加载
linux
Gauss松鼠会1 小时前
GaussDB 中 gsql 与 DBeaver(JDBC)客户端工具查询时间不一致:原因、排查与处理
运维·服务器·数据库·sql·gaussdb·经验总结
谙弆悕博士1 小时前
debian快速换源
linux·运维·windows·debian·下载·换源·网络问题
.道阻且长.1 小时前
Linux基本开发工具:编译器gcc/g++
linux·运维·服务器·职场和发展
Industio_触觉智能1 小时前
瑞芯微RK系列调试工具与量产测试手册-上|串口日志打通与JTAG兜底调试
linux·sdk·jtag·瑞芯微·调试工具·rk3576·量产调试
Decay__8 小时前
05_MySQL 常用 SQL 大全 —— 诊断、管理、优化辅助 SQL 与三大系统库速查
运维·数据库·sql·mysql·架构
贞明电子10 小时前
工业三色报警灯怎么接入项目系统?开关量与RS485控制应用指南
运维·网络·微信公众平台·贞明电子
HideF10 小时前
Linux
linux·服务器·网络