linux(五)—shell脚本的交互式定义变量及变量的分类

这篇博客介绍了Shell脚本中如何定义和使用变量,包括自定义变量、交互式定义变量、固定类型变量的声明,以及本地变量、环境变量、全局变量和系统变量的区别。此外,还展示了在Shell脚本中检查命令执行状态、获取脚本信息及参数的方法,并给出了一个实际的脚本示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1:自定义变量 如下图所示

 2:交互式定义变量 

      语法:read  参数  "提示语:" 变量 例如:read -p "输入你们年龄:" AGE

      参数使用案例:-p:定义提示用户的信息             

                                -n:定义字符数(限制变量的长度)

                                -s:不显示输出内容

                                -t:定义超时时间 默认为秒()限制用户输出的时间

 从文件获取内容复制给一个变量

read -p "从文件中获取内容:" content < file1.txt 如下图所示

 3:定义一个固定类型的变量

语法:declare 参数 变量=变量值

          参数:-i:将变量看成整数 例如:declare -i T=254

                     -r:只读变量  declare -r T=254  表示不可改变

                    -x:将变量通过环境到处   declare -x T=254 等价于 export  T=254 

                          通常用于配置环境变量

 4:变量分成 本地变量,环境变量,全局变量,系统变量

         本地变量:前面所说的定义变量的方式都属于本地变量 作用域仅作用当前进程中有效

                           即只是作用于 当前用户的作用域,例如当前时 root 用户操作 则切换其他用户

                           则不可操作相关的变量

        环境变量:本地变量差不多但是环境变量可以作用给该进程的子进程

                           查看环境变量 env 或者 set

                         

 

        全局变量:任何用户或进程都可以使用 一般放置在 /etc/proofile文件中

                         此文件是所有的用户公用的环境变量

        系统变量:此概念是没有作用域的,是当前某个shell脚本已经定义完成的变量

                          我们称为系统变量 (此处非常重要************** 关系到往后写脚本)

                        内置变量:                       含义

                         $?: 执行上一条命令后返回的状态 0:执行正常 非0:执行异常

                               例如 在安装yum 源时先检查后安装 可以使用此命令

                         $0: 表示当前脚本名称

                         $#:脚本后接的参数的个数

                         $*:脚本后所有的参数,当作一个整体输出 每个变量以" " 隔开

                         $1-$9:脚本后面的位置参数 $1 表示第一个参数 依次后移 如超出9 则用 ${10} 表示

 

 以上命令的使用 一般在shell脚本中使用

#!/bin/env bash

# name:lvdingqiang
# desc:获取本机IP地址和子网掩码
# use: 
# 授予执行权限   chmod +x /shell/demo.sh
# 执行脚本   /shell/demo.sh

echo $(ip addr| grep global| cut -d "/" -f1|cut -d "t" -f2|tr -d " ")

# 查看上条命令是否执行成功
echo "查看上条命令是否执行成功: " $?

# 获取脚本名称
ech "获取脚本名称: " $0

# 获取脚本后接参数的个数
echo "获取脚本后接参数的个数: " $#

# 输出整个脚本所有的参数
echo "输出整个脚本所有的参数: " $*

# 输出脚本参数 后第一个参数
echo "输出脚本参数 后第一个参数: " $1

# 输出脚本参数后第11个参数
echo "输出脚本参数后第11个参数: " ${11}


创建脚本 vi /home/shell/test2.sh 将上面代码复制到脚本中

使用标准方式 

 授权执行权限:chmod +x /home/shell/test2.sh

执行脚本命令: /home/shell/test2.sh a b c d 1 2 3 4 5 6 7 8 9 89 

 创作不易 如果感觉能帮到你 帮助点赞一下表示支持

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值