【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 执行脚本
相关推荐
AOwhisky2 小时前
Linux(CentOS)系统管理入门笔记(第二十一期)——防火墙管理(Firewalld)——zone、服务端口、富规则与端口转发
linux·运维·笔记·安全·centos·防火墙
腾飞开源2 小时前
01_K8s干货笔记之认识K8s
运维·笔记·云原生·容器·kubernetes·k8s·容器化部署
tg_xianheyun8 小时前
CDN节点分布如何影响网页加载速度和用户体验
服务器·cdn加速·全球访问优化
lsh曙光8 小时前
延时at指令和定时cron指令
linux·服务器·网络
圆山猫9 小时前
[Virtualization](四):Linux KVM/RISC-V 的 vCPU 运行路径
java·linux·risc-v
布鲁飞丝9 小时前
vivo Pulsar 万亿级消息处理实践()-Ansible运维部署
运维·ansible
XR1234567889 小时前
企业全光网络架构选型技术白皮书:从物理层到运维层的全链路分析
运维·网络·架构
似的8359 小时前
一步一步学习使用FireMonkey动画() 使用TAnimator类创建动画
linux·学习·nginx
HiDev_9 小时前
【非标自动化】2、认识元器件(直线模组)
运维·自动化
夏殇之殁10 小时前
包中创建自定义列表项。 . 使用自定义列表项进行数据绑定 . 将天气预报数据保存到本地内存表,通过LiveBindings进行显示。 ...
服务器·前端·javascript