首页 > 系统相关 >linux shell 脚本中local的用法

linux shell 脚本中local的用法

时间:2023-11-05 16:26:54浏览次数:35  
标签:shell 变量 ## value echo test2 linux local

 

linux 中 local为一个关键字,用于限制变量的作用范围(作用域),通常应用在函数的内部.

 

举例如下:

001、在函数内部定义变量, 不使用关键字local

[root@pc1 test2]# ls
a.sh
[root@pc1 test2]# cat a.sh       ## 测试函数
#/bin/bash

function db1()
{
        value=10                 ## 函数内部定义变量, 不使用关键字local
        echo $[$value *2]
}

db1
echo "----------------------"
echo $(($value + 40))            ## 函数外部调用变量value
[root@pc1 test2]# bash a.sh      ## 执行改脚本
20
----------------------
50                               ## 此处正确返回的运算数值,说明变量value在函数外部调用成功

 

 002、在函数内部定义变量, 使用关键字local

[root@pc1 test2]# ls
a.sh
[root@pc1 test2]# cat a.sh
#/bin/bash

function db1()
{
        local value=10                 ## 此处在函数内部使用了关键字local, 变量的作用域仅在函数内部
        echo $[$value *2]
}

db1
echo "----------------------"
echo $(($value + 40))                  ## 此处在函数外部尝试调用变量value
[root@pc1 test2]# bash a.sh
20
----------------------
40                                     ## 返回结果表明,未能成功调用变量value(说明local关键限制的变量的作用范围)

 

.

 

标签:shell,变量,##,value,echo,test2,linux,local
From: https://www.cnblogs.com/liujiaxin2018/p/17810616.html

相关文章

  • linux系统之五 网卡驱动初始化解析
    一、环境说明内核版本:Linux3.10内核源码地址:https://elixir.bootlin.com/linux/v3.10/source(包含各个版本内核源码,且王页可全局搜索函数)网卡:Intel的igb网卡网卡驱动源码目录:drivers/net/ethernet/intel/igb/二、网卡驱动的加载网卡需要有驱动才能工作,驱动是加载到内核中......
  • Linux下的minicom安装和使用教程
    [TOC]Linux下的minicom安装和使用教程在窗口中输入sudosu-,获取root权限test@ubuntu:~$输入sudosu-[sudo]passwordfortest:输入密码root@ubuntu:~#(获取root权限)(3)用apt-getinstallminicom,下载安装软件root......
  • linux同步机制-completion
    一、completion1.1什么是completionlinux内核中,完成量completion是一种代码同步机制。如果有一个或多个线程必须等待某个内核活动操作达到某个点或某个特定状态,那么completion完成量可以提供一个无竞争的解决方案。1.2completion的使用1.2.1定义并初始化完成量//方式一......
  • POWERSHELLPLUS调试脚本方法
    在之前的博文中,我曾经提到过,使用PowerShellPlus调试脚本的方法我没有找到,从而使用PowerGUI调试的。今天又研究了一下工具,发现还是可以调试的。也不知道是我那个版本的问题还是其它什么原因导致当时没有能够成功调试。这个工具的菜单和传统的方式还是有点不一样(这个应该是WIndows7风......
  • shell 脚本文件中如何处理多个选项参数?
    在Shell脚本中,可以使用getopts命令来处理多个选项参数。getopts命令可以解析命令行参数,并使您能够轻松地为每个选项指定操作。以下是一个简单的示例,演示了如何使用getopts命令处理多个选项参数:whilegetopts":a:b:c"opt;docase$optina)echo"选项-a已启用,参......
  • Linux第五次周总结
    第一部分X-shell怎样连接虚拟机1、双击进入软件,点击左上角的"文件",选择选项列表中的"新建"。   2、在打开的窗口界面中,输入虚拟机的相关信息,比如IP地址与端口号等。 3、并将下方中的"连接异常关闭时自动重新连接"勾选上,点击"确定"。 4、然后在弹出的警告窗口中,......
  • linux shell中 创建数组及数组的基本操作
     001、创建数组a、方法1[root@pc1test01]#ay1=(100200"abc""xyz")##创建数组 b、方法2[root@pc1test01]#ay2[0]=100[root@pc1test01]#ay2[1]=200[root@pc1test01]#ay2[3]="mn" 002、访问数组的全部元素[root@pc1test01]#ay1=(100......
  • Linux 备忘手册
    Linux备忘手册B站视频介绍:程序员Linux备忘手册来了解决学完就忘高效查询一分钟定位80%以上高频问题终于来了,耗时一个半月,修改超过10次,程序员Linux备忘手册终于来了。长图适合你在初学时挂在机房、家里或者是宿舍的墙上,随查随用。我还为大家准备了一个A4纸的手册版,这个就适......
  • Linux安装maven(详细教程)
    yuanwen:https://www.cnblogs.com/outrun/p/17708907.htmlhttps://www.cnblogs.com/outrun/p/17708907.htmlLinux安装maven(详细教程)Linux安装maven(详细教程)一、简介Maven是意第绪语,意思是“知识的积累者”,最初是为了简化JakartaTurbine项目中的构建过程。有几......
  • Linux记录(根文件系统NFS挂载失败)
    简单说明一下:我们测试跟文件系统的时候不是直接烧写到EMMC里面,这样测试效率太低了,Ubuntu的rootfs目录已经保存了根文件系统,我们只需要在开发板上通过nfs挂载Ubuntu下的rootfs目录即可。也就是说,根文件系统一直在Ubuntu下,开发板通过网络在使用这个根文件系统,这样方......