为 linux bash 中的函数中的局部变量分配一个新值

2024-02-19

我有一个linux bash带有函数的脚本:

myfunctiona () 
{
  local MYVAR1="one"
  local MYVAR2="two"
  echo $MYVAR1
  # The line beneath is the line in question!
  local MYVAR1=$MYVAR1$MYVAR2       
}

当我想给予LOCAL多变的MYVAR1在函数中myfunctiona一个新的值,我必须写吗

local MYVAR1=$MYVAR1$MYVAR2

或者我也可以写

MYVAR1=$MYVAR1$MYVAR2

使用没有“local”的第二行,我是否创建一个同名的全局变量?


一旦定义了局部变量,就可以正常分配它,如下所示:

#!/bin/bash

myfunctiona () 
{
  local MYVAR1="one"
  local MYVAR2="two"
  echo $MYVAR1
  # The line beneath is the line in question!
  local MYVAR1=$MYVAR1$MYVAR2    
  MYVAR1="FOO"
  echo $MYVAR1   
}

myfunctiona
echo "global" $MYVAR1

给出输出:

one
FOO
global
  • 正如您所看到的,尝试从全局范围访问变量会返回 null

HTH

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为 linux bash 中的函数中的局部变量分配一个新值 的相关文章

  • 如何比较两个文件中的多列并在找​​到匹配时从另一列检索相应的值

    我有两个文件 File1 txt 和 File2 txt 我需要将 File1 中的三列 1 2 和 3 分别与 File2 的 4 5 和 6 进行比较 如果找到匹配项 我想从 File2 的第 2 列中检索相应的值并将其粘贴到输出中 T
  • 强制一个 javascript 函数等待运行,直到第一个函数完成

    下午 我遇到了一个问题 我需要运行一个函数 然后在完成后 运行下一个函数 并对四个函数执行此操作 我已经尝试了一段时间 试图找到正确的布局语法我的函数调用但似乎找不到任何东西来解决这个特定的场景 html div div div jquer
  • 为什么子程序需要在声明其中使用的变量之后编写?

    假设我们有这段代码 为什么它会因显式包名称错误而失败 因为该函数仅在声明后才被调用 value use strict use warnings sub print value print n value my value 2 print v
  • Python Tkinter,停止线程函数

    我目前正在为 3D 打印机开发 GUI 并且遇到如何停止线程函数的问题 我希望能够单击 GUI 中具有另一个功能的按钮 该按钮将阻止线程函数通过串行端口发送 G 代码字符串 目前 该函数已合并线程 以允许在打印期间触发其他函数 我非常感谢有
  • PHP:将字符串分成 8 个块,我该怎么做?

    我基本上有二进制 假设它的长度是300 我如何将它分割 就像使用爆炸一样 成 8 位块 我查看了 chunk split 但它似乎只有一个 end 参数 而不是将其放入数组的选项 或者它可以插入数组吗 末尾 8 位数字可以低于 8 如果有人
  • Linux无法删除文件

    当我找到文件时 我在删除它们时遇到问题 任务 必须找到带有空格的文件并将其删除 我的尝试 rm find L root grep i 但我有错误 rm cannot remove root test No such file or dire
  • 当我尝试在 .bashrc 中添加命令时出现命令未找到消息

    我问了一个问题如何在 bash shell 中编写漂亮优雅的 linux 命令 https stackoverflow com q 19720095 80353 当我尝试该建议时 我收到以下错误消息 Sorry command not fo
  • 在 Bash Linux 中,如果给定进程运行时间超过指定时间,如何获取通知?

    我一切顺利 我的程序在大约 N 秒内完成 maybe deadlock 但有时会随机发生死锁 导致程序永远挂起 为了调试这个 我想按照以下方式运行该程序 如何调试罕见的死锁 https stackoverflow com questions
  • 关键字“if”如何测试一个值是真还是假?

    在 bash 脚本中 if 1 then echo Yes else echo No fi Output Yes 它表示 1 被视为真值 但在代码中 word Linux letter nuxi if echo word grep q le
  • grep 排除文件的数组参数

    我想从我的文件中排除一些文件grep命令 为此我使用参数 exclude excluded file ext 为了更容易阅读 我想使用包含排除文件的 bash 数组 EXCLUDED FILES excluded file ext 然后将
  • 在 docker 中重定向命令输出

    我想为我的服务器做一些简单的日志记录 它是一个在 Docker 容器中运行的小型 Flask 应用程序 这是 Dockerfile Dockerfile FROM dreen flask MAINTAINER dreen WORKDIR s
  • Angular UI 模式的范围问题

    我无法理解 使用角度 UI 模式的范围 虽然这里不是很明显 但我已经正确设置了模块和所有内容 据我所知 但这些代码示例尤其是我发现错误的地方 index html 其中重要部分 div class btn group div
  • 通过 bash 命令设置 gitlab-ci.yml 变量

    variables CUSTOM NODE VERSION cat nvmrc 我想要变量CUSTOM NODE VERSION通过内容填充 nvmrc文件 位于项目根目录中 如何在gitlab ci yml file 上面的例子不起作用
  • 执行命令而不将其保留在历史记录中[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 在进行软件开发时 经常需要在命令行命令中包含机密信息 典型示例是将项目部署到服务器的凭据设置为环境变量 当我不想将某些命令存储在命令历史记
  • 如何制作 Bash 脚本来查找项目中未使用的图像?

    如何制作一个 Bash shell 脚本 它可以识别所有 jpg gif 和 png 文件 然后识别文件夹中任何文本文件中哪些文件未通过 url href 或 src 链接 这就是我开始的 但我最终得到了与我想要的相反的结果 我不想知道引用
  • 如何在 Bash 中按自然顺序循环文件?

    我使用以下命令循环目录中的所有文件 for i in fas do some code done 不过 我按这个顺序得到它们 vvchr1 fas vvchr10 fas vvchr11 fas vvchr2 fas 代替 vvchr1 f
  • 在 Shiny 中的用户会话之间共享反应数据集

    我有一个相当大的反应数据集 该数据集是通过轮询文件然后按预定义的时间间隔读取该文件而派生的 数据更新频繁 需要不断重新加载 诚然 重新加载可以增量完成并附加到 R 中的现有对象 但事实并非如此 然而目前 尽管会话中的数据相同 但此操作是针对
  • 在 bash 脚本中使用源时出现“源:未找到”错误

    我正在尝试编写 我认为的 一个简单的 bash 脚本 它将 运行 virtualenv 以 1 美元创建一个新环境 激活虚拟环境 做更多的事情 安装 django 将 django admin py 添加到 virtualenv 的路径等
  • Bash while 循环等待任务完成

    我创建了一个 bash 脚本来处理文件夹及其子文件夹中的视频 find type f name mkv while read file do ffmpeg i file done 问题 它不是 while 循环等待 ffmpeg 完成 而是
  • 模块函数中使用的 $_ 变量为空 (PowerShell)

    这里有一个问题要问你 我有这个功能 function Set DbFile param Parameter ValueFromPipeline true System IO FileInfo InputObject Parameter Va

随机推荐

  • 为什么使用 scanf 读入字符串缓冲区可以在有或没有与号 (&) 的情况下工作?

    我对某事有点困惑 我的印象是读取 C 字符串的正确方法是scanf 沿着 不用担心可能的缓冲区溢出 这只是一个简单的例子 char string 256 scanf s string 然而 以下似乎也有效 scanf s string 这只
  • 比较 Excel 工作簿中两个工作表的最佳方法是什么

    鉴于我有以下内容
  • 为什么要使用字段而不是属性?

    我对 C 还很陌生 我认为属性是一件很棒的事情 事实上 这太棒了 以至于我看不出使用字段有任何真正的优势 即使对于私人领域 属性提供的灵活性和模块化似乎充其量可以让您避免严重的头痛 而最坏的情况则根本没有任何效果 我看到的字段的唯一优点是您
  • 将 iPhone X 旋转至横向时,封面图像左侧和下方出现空白

    今天出现了一个奇怪的问题 在测试一个简单的 即将推出 页面时 我的 iPhone X 上的背景图像在旋转到横向时没有填充整个视口 在 Chrome 和 Safari 中测试 产生问题的简化示例 html background url htt
  • 如何使这些按钮不显示为蓝色链接

    所以我只是想创建一个小网站 别担心这不会发生 作为标题 目前 主页 新闻 图库 和 关于我们 并不是指向另一个页面的实际按钮 当我做 a href Mainpage htm Home a 该按钮变成紫色并带有下划线 我知道这就是链接的显示方
  • 实体框架一对零或一外键关联

    我正在更改现有应用程序的后端以使用实体框架代码优先 我使用 Visual Studio 2015 中的内置工具根据现有数据库生成 POCO 类 这在大多数情况下都非常有效 除了两个具有一对零或一关系的类之外 这些是我的 简化的 课程 pub
  • 在 Shiny 中获取响应头变量

    我的 apache 将 LDAP 登录传递给变量X 远程用户在标题中 但我不知道如何在 Shiny 应用程序中获取它 有任何想法吗 也许解决方案可以是一些java脚本 好吧 我解决了 首先包含在ui Rjs函数 www js getLogi
  • Elasticsearch 自动完成或按令牌自动建议

    我想就如何基于标记完成术语提出建议 类似于谷歌的自动完成功能 但仅使用一个标记或单词 我想搜索将被标记化的文件名 例如 BRAND Connect A1233 jpg 被标记为 brand connect a1234 和 jpg 现在我想征
  • 如何在 Visual Studio 中搜索特定数据库表

    我在 Visual Studio 中有 6 个 dtsx 设计 文件 作业步骤 大多数情况下 作业步骤运行 sql 代码并删除 创建 复制表 如何搜索某个特定表格被触摸的位置 我尝试了 control F 并浏览了菜单中的搜索选项 我不认为
  • DataGridRow 上的 WPF DataGrid MouseOver

    我不明白为什么代码的第一部分不起作用 但第二部分却起作用 PART 1
  • 数据帧中值对出现的次数

    我有包含以下列的数据框 Name Surname dateOfBirth city country 我有兴趣找出最常见的名字和姓氏组合以及它出现的频率 如果能看到前 10 名组合的列表就好了 我对第一名的想法是 mostFreqComb d
  • AWS Lambda Java函数被多次调用

    我有一个AWS我用 Java 编写的 Lambda 函数 实际上是用 Clojure 编写的 每次运行它时它似乎都会被调用 3 次 我的函数在超时 设置为最长 5 分钟 内成功运行 它返回一个字符串 当我在控制台中测试该函数时 我可以看到输
  • 这是初始化 [ThreadStatic] 的线程安全方法吗?

    ThreadStatic private static Foo foo public static Foo CurrentFoo get if foo null foo new Foo return foo 前面的代码线程安全吗 或者我们需
  • 多核 CPU 中的核之间/跨核访问寄存器

    这可能听起来很疯狂 但我似乎不清楚是否有一个接口可供汇编程序员编写代码将内核 1 上的一个寄存器加载到内核 2 上的寄存器 例如 将内核 1 上的 EAX 加载到内核 2 上的 EAX 有可能吗 更多关于汇编程序员使用两个核心 在多个核心上
  • Python struct.error:结构格式中的错误字符

    首先我想知道这个python语句的作用 struct unpack sH len data 2 data 其次 我必须使用 python 发出 ICMP 请求消息 问题是我已经得到了老师给我的一些帮助代码 def step4 code se
  • 如何在java中检测日期是否在本周或下周内?

    如果我有一个事件的日期 例如 2011 01 03 如何在 java 中检测它是在本周还是下周内 有示例代码吗 Edit 我以为这是一个简单的问题 结果比我想象的要复杂 这周我吃的是 从上周日到这个周六 下周是从下周日到下周六 这部分取决于
  • Web - 使用 LocalStorage API 和 jQuery 删除选定的列表项

    作为或多或少的概念验证 我想使用 LocalStorage API 将列表项保存到存储中 我想出的方法有点复杂且效率低下 但对于删除单个列表项用例来说 它效果很好 下面是它的大致工作原理 使用 localStorage length 我使用
  • C语言中如何交换半字节?

    如何交换数字的半字节位置 例如 534 将其转换为二进制 最右边的4位必须与最左边的4位互换 然后用它组成一个新的数字 有人知道怎么做吗 肖恩 安德森 Sean Anderson 的小玩意指南 http graphics stanford
  • CMPedometer 计步功能不可用

    我的代码是 if CMPedometer isStepCountingAvailable self pedometer CMPedometer alloc init else NSLog Step counting is not avail
  • 为 linux bash 中的函数中的局部变量分配一个新值

    我有一个linux bash带有函数的脚本 myfunctiona local MYVAR1 one local MYVAR2 two echo MYVAR1 The line beneath is the line in question