Centos7 Shell编程 - 变量

本文详细介绍了Shell编程中的变量概念,包括Shell的定义、脚本执行方式,以及变量的类型、定义与使用、环境变量设置、位置参数变量和预定义变量的用法,通过实例解析了如何在Shell脚本中操作和应用这些变量。

1、Shell是什么

  • Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的
    界面系统级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。

2、Shell脚本执行方式

  1. 脚本格式要求
    1. 脚本以 #!/bin/bash 开头
    2. 执行脚本需要又可执行权限
  2. 常用执行方式
    1. 输入脚本的绝对路径或相对路径 (推荐)
      1. 首先赋予脚本可执行权限
      2. 执行脚本
    2. sh + 脚本
      1. 不用执行权限,直接执行
  3. 示例 (输出"Hello,World")
    1. 创建脚本
      #!/bin/bash
      echo "Hello,World"
      
    2. 修改权限
      在这里插入图片描述
    3. 执行脚本
      在这里插入图片描述

3、Shell变量的介绍

  1. Linux中Shell的变量分为:系统变量和用户自定义变量
  2. 系统变量:$HOME、$PWD、$SHELL、$USER
  3. 显示当前shell中所有变量:set

4、Shell变量的定义与使用

  1. 基本语法
    1. 定义变量:变量=值
    2. 撤销变量:unset 变量
    3. 声明静态变量:readonly 变量 (静态变量不能unset)
  2. 定义变量规则
    1. 变量名称可以由字母、数字和下划线组成,但是不能以数字开头
    2. 等号两侧不能又空格
    3. 变量名称规范使用大写
  3. 示例
    1. 定义变量A
      #!/bin/bash
      A=1001
      echo "$A"
      
    2. 撤销变量A
      #!/bin/bash
      A=1001
      echo "$A"
      unset A
      echo "$A"
      
    3. 定义静态变量A,查看是否能使用unset
      #/bin/bash
      readonly A=1002
      echo "$A"
      unset A
      echo "$A"
      
      在这里插入图片描述
  4. 将命令的返回值赋给变量 (重点)
    1. 用法

      1. A=`ls -la`
      2. A=$(ls -la)
    2. 示例

      #!/bin/bash
      A=`cal`
      echo "$A"
      echo "===================="
      B=$(date)
      echo "$B"
      

      在这里插入图片描述

5、设置环境变量

  1. 基本语法
    1. export 变量名=变量值 (功能描述:将shell变量输出为环境变量)
    2. source 配置文件 (功能描述:让修改后的配置信息立即生效)
    3. echo $变量名 (功能描述:查询环境变量的值)
  2. 快速入门
    1. 在/etc/profile文件中定义TOMCAT_HOME环境变量
      TOMCAT_HOME=/opt/apache-tomcat-9.0.14
      export TOMCAT_HOME
      
    2. 查看环境变量TOMCAT_HOME的值
      在这里插入图片描述
    3. 在另外一个shell程序中使用 TOMCAT_HOME
      #!/bin/bash
      echo "tomcat=$TOMCAT_HOME"
      
      在这里插入图片描述

6、位置参数变量

  1. 基本语法
    1. $n (功能描述:n为数字,$0代表命令本身,$1-9代表第一到第九个参数,十以上的参数需要用大括号包含,如9代表第一到第九个参数,十以上的参数需要用大括号包含,如9{10})
    2. $* (功能描述:这个变量代表命令行的所有参数,它把所有的参数看成一个整体)
    3. $@ (功能描述:这个变量代表命令行的所有参数,它把每个参数区分对待)
    4. $# (功能描述:这个变量代表命令行中所有参数的个数)
  2. 示例
    • 编写一个shell脚本, 在脚本中获取到命令行的各个参数信息
      #!/bin/bash
      echo "$0 $1 $2"
      echo "$*"
      echo "$@"
      echo "参数个数:$#"
      
      在这里插入图片描述

7、预定义变量

  1. 基本介绍
    • 就是shell设计者事先已经定义好的变量,可以直接在shell脚本中使用
  2. 基本语法
    1. $$ (功能描述:当前进程的进程号[PID])
    2. $! (功能描述:后台运行的最后一个进程的进程号)
    3. $? (功能描述:最后一侧执行的命令的返回状态。如果这个变量的值为0,证明上一个命令正确执行;如果这个变量的值为非0,则证明上一个命令执行不正确)
  3. 示例
    #!/bin/bash
    echo "当前的进程号:$$"
    ./test04.sh  &
    echo "最后的进程号:$!"
    echo "执行的返回状态:$?"
    
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值