温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

shell编程中如何分析bash变量

发布时间:2021-11-08 17:21:49 来源:亿速云 阅读:113 作者:柒染 栏目:建站服务器

本篇文章为大家展示了shell编程中如何分析bash变量,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

导读shell编程--bash变量介绍 ,变量是计算机内存的单元,其中存放的值可以改变。当 Shell  脚本需要保存一些信息时,如一个文件名或一个数字,就把它存放在一个变量中。

bash变量类型

  • 本地变量

本地变量的作用域为整个bash进程。局部变量属于本地变量。在bash中声明变量的周期随着该进程的周期而存在。
定义本地变量:set VARNAME=Jerry
引用变量:${VARNAME},括号可省略
局部变量的声明:local VARNAME=VALUE
  • 环境变量

环境变量的作用域为当前shell进程及其子进程声明:export VARNAME=VALUE或者VARNAME=VALUE; export VARNAME脚本在执行时会启动一个子shell进程命令行中启动的脚本会继承当前shell的环境变量系统自动执行的脚本(非命令行启动)就需要自我定义需要各环境变量
  • 位置变量

$1, $2, ...shift: 对参数进行轮换,默认轮换一个参数#!/bin/bash#echo $1shiftecho $1shiftecho $1shift./filetest.sh /etc/fstab /etc/inittab    $1:/etc/fstab 
    $2:/etc/inittab
  • 特殊变量

$?: 上一个命令执行状态的返回值
    程序执行,可能有两类返回值:
        程序执行结果
        程序状态返回代码(0-255)            0: 正确执行            1-255: 错误执行。1、2、127系统预留$#: 参数的个数$*: 参数列表$@: 参数列表

变量的撤销及查看

  • 撤销变量

unset VARNAME
  • 查看变量

set: 查看当前shell中的变量(包括环境变量和本地变量)
printenv、env、export: 查看当前shell中的环境变量

变量命名规则

1、变量与变量内容以一个等号"="来连接,如下所示:
    MyName=Dabric
2、等号两边不能直接接空格符,如下错误:
    MyName= Dabric 或 Myname=Dab ric
3、变量名称只能是英文字母与数字,但是开头字符不能时数字;
4、变量内容若有空格符可使用双引号或单引号将变量内容结合起来,但双引号内的特殊字符如$等,可以保有原本的特性,如下所示:
    var="lang is $LANG" 则echo $var 可得 lang is en_US.UTF-8
单引号内的特殊字符则仅为一般字符(纯文本),如下所示:
    var='lang is $LANG' 则echo $var 可得 lang is $LANG
    总之在bash中:    "":弱引用,可以实现变量替换    '':强引用,不完成变量替换
5、可以使用跳脱字符"\"将特殊字符(如[ENTER], $, \, 空格符, '等)变成一般字符,如:
    MyName=Dab\ ric
6、在一串指令的执行中,还需要藉由其他额外的指令所提供的信息时,可以使用反引号"`COMMAND`"或"$(COMMAND)"。例如想要取得核心版本的设定:
    version=$(uname -r) 
    echo $version如何进入到您目前核心的模块目录:
    # cd /lib/modules/`uname -r`/kernel
    # cd /lib/moudles/$(uname -r)/kernel
7、若改变量为扩增变量内容时,则可用"$变量名称"或${变量}累加内容,如下所示:
    PATH="$PATH":/home/bin 或 PATH=${PATH}:/home/bin
8、若该变量需要在其他子程序执行,则需要以export来使变量变成环境变量:
    # export PATH
9、通常大写字符为系统默认变量,自行设定变量可以使用小写字符,方便判断;
10、取消变量的方法为使用unset:"unset 变量名称"例如取消MyName的设定:
    # unset MyName
变量可以在bash配置文件(~/.bashrc)中直接指定,保证每次登录shell该变量都存在

上述内容就是shell编程中如何分析bash变量,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI