shell脚本中的变量及变量传参详解 您所在的位置:网站首页 shell脚本sleep变量 shell脚本中的变量及变量传参详解

shell脚本中的变量及变量传参详解

2023-09-06 07:42| 来源: 网络整理| 查看: 265

shell脚本中的变量及变量传参

文章目录 shell脚本中的变量及变量传参1、变量的定义2、shell脚本中变量的定义方法3、变量的转译及数组4、Linux中命令的别名设定5、用户环境变量的更改6、shell脚本中的变量传参7、脚本函数

1、变量的定义

变量本质上就是一片内存区域的地址即寻址符号的别名,当我们运行shell脚本时命令无法操作一直变化的目标,所以需要引入变量来解决此问题,即用一串固定的字符来表示不固定的目标。 在这里插入图片描述

2、shell脚本中变量的定义方法

在定义变量时,变量名称中可包含的字符有字母、下划线和数字,变量名称不能以数字开头,一般在定义变量时我们建议:变量名称短全用大写字符如WESTOS;变量名称长用下划线_区分子类如Westos_Linux。除此之外,变量的定义还分为环境级别、用户级别和系统级别,具体内容我们将通过示例进行详细说明。

实验步骤: 1)当我们在当前shell环境中定义变量a的值为1时,使用echo $a可以看到变量的值,编写脚本test.sh在脚本中写入echo $a,运行该脚本显示结果为空,这是因为在当前shell环境中定义的变量是环境级别的变量,即只针对当前shell环境生效且在环境关闭后变量失效,脚本运行时是在当前shell中再开了一个shell环境(#!/bin/bash指定的环境),在子shell环境中没有变量a的定义,所以运行脚本显示结果为空 在这里插入图片描述 在这里插入图片描述 2)我们可以编辑 ~/.bash_profile文件,在其中添加变量a的声明语句export a=1,source重新读取该文件使设定生效,给当前shell中的所有子程序环境传递变量值,此时运行test.sh脚本可以看到变量a的值,但当切换到westos用户中,再次运行test.sh脚本显示结果为空,这是因为编辑 ~/.bash_profile文件声明的变量是用户级别的变量,当切换到另一用户时变量失效 在这里插入图片描述 在这里插入图片描述 3)我们可以编辑/etc/profile文件来设定对于所有用户的所有环境都生效的系统级别的变量,但此文件内容较多,出于稳定性考虑不进行改动,我们一般选择在/etc/profile.d/目录下新建脚



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有